summaryrefslogtreecommitdiff
path: root/makima/frontend/src/main.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'makima/frontend/src/main.tsx')
-rw-r--r--makima/frontend/src/main.tsx71
1 files changed, 62 insertions, 9 deletions
diff --git a/makima/frontend/src/main.tsx b/makima/frontend/src/main.tsx
index 874ab1a..d4ca13a 100644
--- a/makima/frontend/src/main.tsx
+++ b/makima/frontend/src/main.tsx
@@ -2,21 +2,74 @@ import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter, Routes, Route } from "react-router";
import "./index.css";
+import { AuthProvider } from "./contexts/AuthContext";
import { GridOverlay } from "./components/GridOverlay";
+import { ProtectedRoute } from "./components/ProtectedRoute";
import HomePage from "./routes/_index";
import ListenPage from "./routes/listen";
import FilesPage from "./routes/files";
+import MeshPage from "./routes/mesh";
+import LoginPage from "./routes/login";
+import SettingsPage from "./routes/settings";
createRoot(document.getElementById("root")!).render(
<StrictMode>
- <BrowserRouter>
- <GridOverlay />
- <Routes>
- <Route path="/" element={<HomePage />} />
- <Route path="/listen" element={<ListenPage />} />
- <Route path="/files" element={<FilesPage />} />
- <Route path="/files/:id" element={<FilesPage />} />
- </Routes>
- </BrowserRouter>
+ <AuthProvider>
+ <BrowserRouter>
+ <GridOverlay />
+ <Routes>
+ <Route path="/" element={<HomePage />} />
+ <Route path="/login" element={<LoginPage />} />
+ <Route
+ path="/listen"
+ element={
+ <ProtectedRoute>
+ <ListenPage />
+ </ProtectedRoute>
+ }
+ />
+ <Route
+ path="/files"
+ element={
+ <ProtectedRoute>
+ <FilesPage />
+ </ProtectedRoute>
+ }
+ />
+ <Route
+ path="/files/:id"
+ element={
+ <ProtectedRoute>
+ <FilesPage />
+ </ProtectedRoute>
+ }
+ />
+ <Route
+ path="/mesh"
+ element={
+ <ProtectedRoute>
+ <MeshPage />
+ </ProtectedRoute>
+ }
+ />
+ <Route
+ path="/mesh/:id"
+ element={
+ <ProtectedRoute>
+ <MeshPage />
+ </ProtectedRoute>
+ }
+ />
+ <Route
+ path="/settings"
+ element={
+ <ProtectedRoute>
+ <SettingsPage />
+ </ProtectedRoute>
+ }
+ />
+ </Routes>
+ </BrowserRouter>
+ </AuthProvider>
</StrictMode>
);