Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

AppRoutes.js 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import React, { useEffect } from "react";
  2. import { Redirect, Route, Switch } from "react-router-dom";
  3. import { useDispatch } from "react-redux";
  4. import { refreshUserToken } from "./store/actions/login/loginActions";
  5. import { useLocation } from "react-router-dom";
  6. import {
  7. ADS_PAGE,
  8. FORGOT_PASSWORD_PAGE,
  9. FORGOT_PASSWORD_CONFIRMATION_PAGE,
  10. NOT_FOUND_PAGE,
  11. ERROR_PAGE,
  12. BASE_PAGE,
  13. RESET_PASSWORD_PAGE,
  14. USERS_PAGE,
  15. CANDIDATES_PAGE,
  16. USER_DETAILS_PAGE,
  17. CANDIDATES_DETAILS_PAGE,
  18. SELECTION_PROCESS_PAGE,
  19. SELECTION_PROCESS_OF_APPLICANT_PAGE,
  20. PATTERNS_PAGE,
  21. PATTERN_DETAILS_PAGE,
  22. SCHEDULE_PAGE,
  23. STATS_PAGE,
  24. REGISTER_PAGE,
  25. CREATE_AD_PAGE,
  26. JOB_DETAILS_PAGE,
  27. } from "./constants/pages";
  28. import LoginPage from "./pages/LoginPage/LoginPageMUI";
  29. import AdsPage from "./pages/AdsPage/AdsPage";
  30. import NotFoundPage from "./pages/ErrorPages/NotFoundPage";
  31. import ErrorPage from "./pages/ErrorPages/ErrorPage";
  32. import ForgotPasswordPage from "./pages/ForgotPasswordPage/ForgotPasswordPageMUI";
  33. import PrivateRoute from "./components/Router/PrivateRoute";
  34. import ForgotPasswordConfirmationPage from "./pages/ForgotPasswordPage/ForgotPasswordConfirmationPageMUI";
  35. import ResetPasswordPage from "./pages/ForgotPasswordPage/ResetPasswordPageMUI";
  36. import UsersPage from "./pages/UsersPage/UsersPage";
  37. import CandidatesPage from "./pages/CandidatesPage/CandidatesPage";
  38. import AdDetailsPage from "./pages/AdsPage/AdDetailsPage";
  39. import UserDetails from "./pages/UsersPage/UserDetails";
  40. import CandidateDetailsPage from "./pages/CandidatesPage/CandidateDetailsPage";
  41. import SelectionProcessPage from "./pages/SelectionProcessPage/SelectionProcessPage";
  42. import SelectionProcessOfApplicantPage from "./pages/SelectionProcessPage/SelectionProcessOfApplicantPage";
  43. import PatternsPage from "./pages/PatternsPage/PatternsPage";
  44. import PatternDetailsPage from "./pages/PatternsPage/PatternDetailsPage";
  45. import SchedulePage from "./pages/SchedulePage/SchedulePage";
  46. import StatsPage from "./pages/StatsPage/StatsPage";
  47. import RegisterPage from "./pages/RegisterPage/RegisterPage";
  48. import CreateAdPage from "./pages/AdsPage/CreateAdPage";
  49. const AppRoutes = () => {
  50. const dispatch = useDispatch();
  51. const location = useLocation();
  52. useEffect(() => {
  53. if (location.pathname === BASE_PAGE) {
  54. return;
  55. }
  56. dispatch(refreshUserToken());
  57. }, [location]);
  58. return (
  59. <Switch>
  60. <Route exact path={BASE_PAGE} component={LoginPage} />
  61. <Route path={NOT_FOUND_PAGE} component={NotFoundPage} />
  62. {/* <Route path={USERS_PAGE} component={UsersPage} /> */}
  63. <Route path={ERROR_PAGE} component={ErrorPage} />
  64. <Route path={FORGOT_PASSWORD_PAGE} component={ForgotPasswordPage} />
  65. <Route
  66. path={FORGOT_PASSWORD_CONFIRMATION_PAGE}
  67. component={ForgotPasswordConfirmationPage}
  68. />
  69. <Route exact path={REGISTER_PAGE} component={RegisterPage} />
  70. <Route path={RESET_PASSWORD_PAGE} component={ResetPasswordPage} />
  71. <PrivateRoute exact path={ADS_PAGE} component={AdsPage} />
  72. <PrivateRoute exact path={JOB_DETAILS_PAGE} component={AdDetailsPage} />
  73. <PrivateRoute exact path={USER_DETAILS_PAGE} component={UserDetails} />
  74. <PrivateRoute exact path={USERS_PAGE} component={UsersPage} />
  75. <PrivateRoute exact path={CANDIDATES_PAGE} component={CandidatesPage} />
  76. <PrivateRoute exact path={CREATE_AD_PAGE} component={CreateAdPage} />
  77. <PrivateRoute
  78. exact
  79. path={CANDIDATES_DETAILS_PAGE}
  80. component={CandidateDetailsPage}
  81. />
  82. <PrivateRoute
  83. exact
  84. path={SELECTION_PROCESS_PAGE}
  85. component={SelectionProcessPage}
  86. />
  87. <PrivateRoute
  88. exact
  89. path={SELECTION_PROCESS_OF_APPLICANT_PAGE}
  90. component={SelectionProcessOfApplicantPage}
  91. />
  92. <PrivateRoute
  93. exact
  94. path={PATTERN_DETAILS_PAGE}
  95. component={PatternDetailsPage}
  96. />
  97. <PrivateRoute exact path={PATTERNS_PAGE} component={PatternsPage} />
  98. <PrivateRoute exact path={SCHEDULE_PAGE} component={SchedulePage} />
  99. <PrivateRoute exact path={STATS_PAGE} component={StatsPage} />
  100. <Redirect from="*" to={NOT_FOUND_PAGE} />
  101. </Switch>
  102. );
  103. };
  104. export default AppRoutes;