Advertisement
ebleach7

Untitled

Apr 18th, 2024 (edited)
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { ErrorBoundary } from "@/components";
  2. import {
  3.   CompanyMetrics,
  4.   FaqCreatePage,
  5.   FaqItemPage,
  6.   FaqPage,
  7.   LocalizationPage,
  8.   NotFoundPage,
  9.   SignInPage,
  10. } from "@/pages";
  11. import { withSuspense } from "@/shared/hocs";
  12. import { Navigate, createBrowserRouter } from "react-router-dom";
  13. import { AppLayout, AuthLayout } from "../layouts";
  14. import { RequireAuthProvider } from "../providers";
  15.  
  16. export const routes = createBrowserRouter([
  17.   {
  18.     errorElement: <ErrorBoundary />,
  19.     element: withSuspense(RequireAuthProvider),
  20.     children: [
  21.       {
  22.         errorElement: <ErrorBoundary />,
  23.         element: withSuspense(AppLayout),
  24.         children: [
  25.           {
  26.             path: "/",
  27.             element: <Navigate to={"/localization"} />,
  28.           },
  29.           {
  30.             path: "/localization",
  31.             errorElement: <ErrorBoundary />,
  32.             element: withSuspense(LocalizationPage),
  33.           },
  34.           {
  35.             path: "/faq",
  36.             errorElement: <ErrorBoundary />,
  37.             element: withSuspense(FaqPage),
  38.           },
  39.           {
  40.             path: "/faq/create",
  41.             errorElement: <ErrorBoundary />,
  42.             element: withSuspense(FaqCreatePage),
  43.           },
  44.           {
  45.             path: "/faq/:faqItemId",
  46.             errorElement: <ErrorBoundary />,
  47.             element: withSuspense(FaqItemPage),
  48.           },
  49.           {
  50.             path: "/company-metrics",
  51.             errorElement: <ErrorBoundary />,
  52.             element: withSuspense(CompanyMetrics),
  53.           },
  54.           {
  55.             path: "*",
  56.             errorElement: <ErrorBoundary />,
  57.             element: withSuspense(NotFoundPage),
  58.           },
  59.         ],
  60.       },
  61.     ],
  62.   },
  63.   {
  64.     errorElement: <ErrorBoundary />,
  65.     element: withSuspense(AuthLayout),
  66.     children: [
  67.       {
  68.         path: "/sign-in",
  69.         errorElement: <ErrorBoundary />,
  70.         element: withSuspense(SignInPage),
  71.       },
  72.     ],
  73.   },
  74.   {
  75.     path: "*",
  76.     element: withSuspense(NotFoundPage),
  77.   },
  78. ]);
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement