summaryrefslogtreecommitdiff
path: root/makima/frontend/src/main.tsx
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-06 04:08:11 +0000
committersoryu <soryu@soryu.co>2026-01-11 03:01:13 +0000
commit8b17a175c3e7e27b789812eba4e3cd760beadb10 (patch)
tree7864dcaa2fa9db47fdfd4e8bfdb0b1dde832aa33 /makima/frontend/src/main.tsx
parentf79c416c58557d2f946aa5332989afdfa8c021cd (diff)
downloadsoryu-8b17a175c3e7e27b789812eba4e3cd760beadb10.tar.gz
soryu-8b17a175c3e7e27b789812eba4e3cd760beadb10.zip
Initial Control system
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>
);