Files
digicraft-fe/App.tsx
Fahri Can Seçer 6e3bee17ef
Some checks failed
Deploy Frontend / deploy (push) Has been cancelled
main
2026-02-05 01:34:13 +03:00

95 lines
2.2 KiB
TypeScript

import React from 'react';
import { Routes, Route, Navigate } from 'react-router-dom';
import Login from './pages/LoginPage';
import Signup from './pages/SignupPage';
import Home from './Home';
import SettingsPage from './pages/SettingsPage';
import AdminDashboard from './pages/AdminDashboard';
import AnalyticsPage from './pages/AnalyticsPage';
import ConfigPage from './pages/ConfigPage';
import PricingPage from './pages/PricingPage';
import XRayPage from './pages/XRayPage';
import ScorecardPage from './pages/ScorecardPage';
import { useAuth } from './AuthContext';
const ProtectedRoute = ({ children }: { children: React.ReactNode }) => {
const { isAuthenticated } = useAuth();
if (!isAuthenticated) return <Navigate to="/login" />;
return children;
};
const App: React.FC = () => {
return (
<Routes>
<Route path="/login" element={<Login />} />
<Route path="/signup" element={<Signup />} />
<Route
path="/"
element={
<ProtectedRoute>
<Home />
</ProtectedRoute>
}
/>
<Route
path="/settings"
element={
<ProtectedRoute>
<SettingsPage />
</ProtectedRoute>
}
/>
<Route
path="/admin"
element={
<ProtectedRoute>
<AdminDashboard />
</ProtectedRoute>
}
/>
<Route
path="/admin/analytics"
element={
<ProtectedRoute>
<AnalyticsPage />
</ProtectedRoute>
}
/>
<Route
path="/admin/config"
element={
<ProtectedRoute>
<ConfigPage />
</ProtectedRoute>
}
/>
<Route
path="/pricing"
element={
<ProtectedRoute>
<PricingPage />
</ProtectedRoute>
}
/>
<Route
path="/xray"
element={
<ProtectedRoute>
<XRayPage />
</ProtectedRoute>
}
/>
<Route
path="/scorecard"
element={
<ProtectedRoute>
<ScorecardPage />
</ProtectedRoute>
}
/>
</Routes>
);
};
export default App;