App.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { Route, Routes } from "react-router-dom";
  2. import LayoutPublic from "./components/LayoutPublic";
  3. import './App.css';
  4. import HomePage from "./components/public-pages/HomePage";
  5. import CategoryOnePage from "./components/public-pages/CategoryOnePage";
  6. import { CssBaseline } from "@mui/material";
  7. import ProductOnePage from "./components/public-pages/ProductOnePage";
  8. import LoginPage from "./components/public-pages/LoginPage"
  9. import ProfilePage from "./components/public-pages/ProfilePage";
  10. import Registration from "./components/public-pages/Registration";
  11. import RequireAuth from "./hoc/RequireAuth";
  12. import NoRequireAuth from "./hoc/NoRequireAuth";
  13. import LayoutAdmin from "./components/adminPage/LayoutAdmin";
  14. import AdminOrders from "./components/adminPage/pages/AdminOrders";
  15. import AdminGoods from "./components/adminPage/pages/AdminGoods";
  16. import AdminGoodMutation from "./components/adminPage/pages/AdminGoodMutation";
  17. import AddNewGood from "./components/adminPage/AddNewGood";
  18. function App() {
  19. return (
  20. <>
  21. <CssBaseline />
  22. <Routes>
  23. <Route path='*' element={<LayoutPublic />}>
  24. <Route index element={<HomePage/>}/>
  25. <Route path='*' element={<p>Страница не найдена</p>}/>
  26. <Route path="about" element={<p>о магазине</p>}/>
  27. <Route path="category/:catId/*" element={<CategoryOnePage/>}/>
  28. <Route path="product/:prodId/*" element={<ProductOnePage/>}/>
  29. <Route path="login" element={
  30. <NoRequireAuth>
  31. <LoginPage/>
  32. </NoRequireAuth>
  33. }/>
  34. <Route path="profile" element={
  35. <RequireAuth>
  36. <ProfilePage/>
  37. </RequireAuth>
  38. }/>
  39. <Route path="registration" element={
  40. <NoRequireAuth>
  41. <Registration/>
  42. </NoRequireAuth>
  43. }/>
  44. </Route>
  45. <Route path='admin' element={<LayoutAdmin />}>
  46. <Route index element={<p>index</p>}/>
  47. <Route path='*' element={<p>Страница не найдена</p>}/>
  48. <Route path='orders' element={<AdminOrders/>}/>
  49. <Route path='goods' element={<AdminGoods/>}/>
  50. <Route path='addNewGood' element={<AddNewGood/>}/>
  51. <Route path="good/:goodId" element={<AdminGoodMutation/>}/>
  52. </Route>
  53. </Routes>
  54. </>
  55. );
  56. }
  57. export default App;