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.

123456789101112131415161718192021222324252627282930313233343536
  1. import React from "react";
  2. import { Route, Routes } from "react-router-dom";
  3. import LoginPage from "./pages/LoginPage/LoginPage";
  4. import RegisterPage from "pages/RegisterPage/RegisterPage";
  5. import HomePage from "pages/HomePage/HomePage";
  6. import RequireAuth from "components/RequireAuth/RequireAuth";
  7. import AuthCallback from "pages/AuthCallbackPage/AuthCallbackPage";
  8. import ProfilePage from "pages/ProfilePage/ProfilePage";
  9. import SettingsPage from "pages/SettingsPage/SettingsPage";
  10. import Error from "pages/ErrorPage/ErrorPage";
  11. import { PAGES } from "constants/pages";
  12. const AppRoutes = () => (
  13. <Routes>
  14. <Route
  15. path={PAGES.LOGIN.route}
  16. element={<LoginPage />}
  17. errorElement={<Error />}
  18. />
  19. <Route
  20. exact
  21. path={PAGES.REGISTER.route}
  22. element={<RegisterPage />}
  23. errorElement={<Error />}
  24. />
  25. <Route path="api/auth/:provider/callback" element={<AuthCallback />} />
  26. <Route element={<RequireAuth />} errorElement={<Error />}>
  27. <Route path={PAGES.BASE.route} element={<HomePage />} />
  28. <Route path="/profile/*" element={<ProfilePage />} />
  29. <Route path="settings" element={<SettingsPage />} />
  30. </Route>
  31. </Routes>
  32. );
  33. export default AppRoutes;