import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; import { AuthProvider } from '@/stores/authStore'; import { ProtectedRoute, AdminRoute } from '@/components/features/auth/ProtectedRoute'; import { HomePage } from '@/pages/HomePage'; import { LandingPage } from '@/pages/LandingPage'; import { LoginPage } from '@/pages/LoginPage'; import { RegisterPage } from '@/pages/RegisterPage'; import { StoryPage } from '@/pages/StoryPage'; import { AdminDashboardPage } from '@/pages/AdminDashboardPage'; import { AdminUsersPage } from '@/pages/AdminUsersPage'; import { AdminReportsPage } from '@/pages/AdminReportsPage'; import { AdminStoryGeneratorPage } from '@/pages/AdminStoryGeneratorPage'; import { AdminUserDetailPage } from '@/pages/AdminUserDetailPage'; import { AdminLayout } from '@/components/features/admin/AdminLayout'; import './index.css'; // Re-export for easier imports export { AuthProvider } from '@/stores/authStore'; function NotFoundPage() { return (

404

Page not found

Go to Home
); } // Layout component with header and footer function AppLayout({ children }: { children: React.ReactNode }) { return (

DeutschLernen

{children}
); } export default function App() { return ( {/* Public routes (no authentication required) */} } /> } /> } /> {/* Protected routes (require authentication) */} } /> } /> {/* Admin routes (require authentication + admin role) */} } > } /> } /> } /> } /> } /> } /> {/* Catch-all route */} } /> ); }