summaryrefslogblamecommitdiff
path: root/makima/frontend/src/main.tsx
blob: c1c6c358096be252ba0d7d491af4590191284422 (plain) (tree)
1
2
3
4
5
6
7
8
9



                                                            
                                                      
                                                                                    
                                                       
                                                                                             
                                                                                           
                                                           
                                                             

                                         
                                       
                                         
                                     
                                           
                                           

                                             
                                       
                                                 

                                                  


                                                    
                  



                                            
                                           
                           
                  


























                                                         
                          

                              








                               



                               
                        






                               
                            

                              








                                



                               







                               















                               






                                
                















                                  






                               


                                    
                   

               
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 { SupervisorQuestionsProvider } from "./contexts/SupervisorQuestionsContext";
import { GridOverlay } from "./components/GridOverlay";
import { SupervisorQuestionNotification } from "./components/SupervisorQuestionNotification";
import { PhaseConfirmationNotification } from "./components/PhaseConfirmationNotification";
import { QuickSwitcher } from "./components/QuickSwitcher";
import { ProtectedRoute } from "./components/ProtectedRoute";
import HomePage from "./routes/_index";
import ListenPage from "./routes/listen";
import FilesPage from "./routes/files";
import OrdersPage from "./routes/orders";
import MeshPage from "./routes/mesh";
import DaemonsPage from "./routes/daemons";
import HistoryPage from "./routes/history";
import LoginPage from "./routes/login";
import SettingsPage from "./routes/settings";
import SpeakPage from "./routes/speak";
import DirectivesPage from "./routes/directives";
import ExecRedirect from "./routes/exec-redirect";
import TmpTaskPage from "./routes/tmp";

createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <AuthProvider>
      <SupervisorQuestionsProvider>
        <BrowserRouter>
          <GridOverlay />
          <SupervisorQuestionNotification />
          <PhaseConfirmationNotification />
          <QuickSwitcher />
          <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="/orders"
            element={
              <ProtectedRoute>
                <OrdersPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/orders/:id"
            element={
              <ProtectedRoute>
                <OrdersPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/exec"
            element={
              <ProtectedRoute>
                <MeshPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/exec/:id"
            element={
              <ProtectedRoute>
                <ExecRedirect />
              </ProtectedRoute>
            }
          />
          <Route
            path="/tmp/:taskId"
            element={
              <ProtectedRoute>
                <TmpTaskPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/daemons"
            element={
              <ProtectedRoute>
                <DaemonsPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/history"
            element={
              <ProtectedRoute>
                <HistoryPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/history/:id"
            element={
              <ProtectedRoute>
                <HistoryPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/settings"
            element={
              <ProtectedRoute>
                <SettingsPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/directives"
            element={
              <ProtectedRoute>
                <DirectivesPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/directives/:id"
            element={
              <ProtectedRoute>
                <DirectivesPage />
              </ProtectedRoute>
            }
          />
          <Route
            path="/speak"
            element={
              <ProtectedRoute>
                <SpeakPage />
              </ProtectedRoute>
            }
          />
          </Routes>
        </BrowserRouter>
      </SupervisorQuestionsProvider>
    </AuthProvider>
  </StrictMode>
);