2026-10-15 23:08:47 -06:00
|
|
|
import { BrowserRouter, Route, Routes } from "react-router";
|
2026-10-16 07:40:29 -06:00
|
|
|
import { AuthProvider } from "./auth/AuthProvider";
|
2026-10-15 23:08:47 -06:00
|
|
|
import { Layout } from "./components/Layout";
|
2026-10-16 07:40:29 -06:00
|
|
|
import { RequireAuth } from "./components/RequireAuth";
|
|
|
|
|
import { AboutPage } from "./pages/AboutPage";
|
2026-10-15 23:08:47 -06:00
|
|
|
import { HomePage } from "./pages/HomePage";
|
|
|
|
|
import { NotFoundPage } from "./pages/NotFoundPage";
|
|
|
|
|
import { SignInPage } from "./pages/SignInPage";
|
2026-10-16 07:40:29 -06:00
|
|
|
import { AccountPage } from "./screens/account/AccountPage";
|
|
|
|
|
import { ScreenRoute } from "./screens/ScreenRoute";
|
2026-10-15 23:08:47 -06:00
|
|
|
|
|
|
|
|
/** Route table. Exported apart from the router so tests can mount it in a MemoryRouter. */
|
|
|
|
|
export function AppRoutes() {
|
|
|
|
|
return (
|
|
|
|
|
<Routes>
|
|
|
|
|
<Route element={<Layout />}>
|
|
|
|
|
<Route index element={<HomePage />} />
|
|
|
|
|
<Route path="signin" element={<SignInPage />} />
|
2026-10-16 07:40:29 -06:00
|
|
|
<Route path="about" element={<AboutPage />} />
|
|
|
|
|
<Route element={<RequireAuth />}>
|
|
|
|
|
<Route path="account" element={<AccountPage />} />
|
|
|
|
|
<Route path=":screen" element={<ScreenRoute />} />
|
|
|
|
|
</Route>
|
2026-10-15 23:08:47 -06:00
|
|
|
<Route path="*" element={<NotFoundPage />} />
|
|
|
|
|
</Route>
|
|
|
|
|
</Routes>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default function App() {
|
|
|
|
|
return (
|
|
|
|
|
<BrowserRouter>
|
2026-10-16 07:40:29 -06:00
|
|
|
<AuthProvider>
|
|
|
|
|
<AppRoutes />
|
|
|
|
|
</AuthProvider>
|
2026-10-15 23:08:47 -06:00
|
|
|
</BrowserRouter>
|
|
|
|
|
);
|
|
|
|
|
}
|