30 lines
1020 B
TypeScript
30 lines
1020 B
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 { 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="/learn" element={<div>Learn (placeholder)</div>} />
|
||
|
|
</Route>
|
||
|
|
</Route>
|
||
|
|
<Route path="/404" element={<NotFoundPage />} />
|
||
|
|
<Route path="*" element={<Navigate to="/404" replace />} />
|
||
|
|
</Routes>
|
||
|
|
);
|
||
|
|
}
|