You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.7 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. import {useEffect, useState} from 'react'
  2. import IndexPage from "./pages/IndexPage";
  3. import "./App.sass";
  4. import ProgramContext, {ProgramContextProvider} from "./contexts/ProgramContext";
  5. import {BrowserRouter, Route, Routes} from "react-router-dom";
  6. import {DeviceContextProvider} from "./contexts/DeviceContext";
  7. import DevicePage from "./pages/DevicePage";
  8. import {RuntimeContextProvider} from "./contexts/RuntimeContext";
  9. import {WorkoutContextProvider} from "./contexts/WorkoutContext";
  10. import WorkoutPage from "./pages/WorkoutPage";
  11. import PlayPage from "./pages/PlayPage";
  12. import EditProgramPage from "./pages/EditProgramPage";
  13. import ProgramPage from "./pages/ProgramPage";
  14. function App() {
  15. return (
  16. <BrowserRouter>
  17. <DeviceContextProvider>
  18. <ProgramContextProvider>
  19. <RuntimeContextProvider>
  20. <WorkoutContextProvider>
  21. <Routes>
  22. <Route path="/" element={<IndexPage/>}/>
  23. <Route path="/devices/:id" element={<DevicePage/>}/>
  24. <Route path="/devices/:id/edit" element={<DevicePage edit/>}/>
  25. <Route path="/devices/new" element={<DevicePage edit/>}/>
  26. <Route path="/programs/:id" element={<ProgramPage/>}/>
  27. <Route path="/programs/:id/edit" element={<EditProgramPage/>}/>
  28. <Route path="/programs/new" element={<EditProgramPage/>}/>
  29. <Route path="/workouts/:id" element={<WorkoutPage/>}/>
  30. <Route path="/play" element={<PlayPage/>}/>
  31. </Routes>
  32. </WorkoutContextProvider>
  33. </RuntimeContextProvider>
  34. </ProgramContextProvider>
  35. </DeviceContextProvider>
  36. </BrowserRouter>
  37. )
  38. }
  39. export default App