Files
aplp.frontend.web/src/app/App.tsx
T
2026-08-22 08:24:06 +07:00

34 lines
1.3 KiB
TypeScript

import { useEffect } from 'react';
import { Navigate, Route, Routes } from 'react-router-dom';
import { AppLayout } from '@/app/layouts/AppLayout';
import { HomePage } from '@/app/pages/HomePage';
import { NotFoundPage } from '@/app/pages/NotFoundPage';
import { RankingPage } from '@/app/pages/RankingPage';
import { ProtectedRoute } from '@/features/auth/components/ProtectedRoute';
import { LoginPage } from '@/features/auth/pages/LoginPage';
import { useAuthStore } from '@/features/auth/store/authStore';
export default function App() {
useEffect(() => {
void useAuthStore.getState().init();
}, []);
return (
<Routes>
<Route path="/login" element={<LoginPage />} />
<Route element={<ProtectedRoute />}>
<Route element={<AppLayout />}>
<Route index element={<HomePage />} />
<Route path="/vocabulary" element={<div>Vocabulary (placeholder)</div>} />
<Route path="/assignment" element={<div>Assignment (placeholder)</div>} />
<Route path="/ranking" element={<RankingPage />} />
<Route path="/progress" element={<div>Progress (placeholder)</div>} />
</Route>
</Route>
<Route path="/404" element={<NotFoundPage />} />
<Route path="*" element={<Navigate to="/404" replace />} />
</Routes>
);
}