router.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { Suspense, lazy } from 'react'
  2. import { Route, Routes } from 'react-router-dom'
  3. import AppShell from '@/components/app-shell'
  4. import Loader from '@/components/loader'
  5. const Dashboard = lazy(() => import('@/pages/dashboard'))
  6. const SignIn = lazy(() => import('@/pages/auth/sign-in'))
  7. const SignIn2 = lazy(() => import('@/pages/auth/sign-in-2'))
  8. const SignUp = lazy(() => import('@/pages/auth/sign-up'))
  9. const ForgotPassword = lazy(() => import('@/pages/auth/forgot-password'))
  10. // Errors
  11. const GeneralError = lazy(() => import('@/pages/errors/general-error'))
  12. const NotFoundError = lazy(() => import('@/pages/errors/not-found-error'))
  13. const MaintenanceError = lazy(() => import('@/pages/errors/maintenance-error'))
  14. export default function Router() {
  15. return (
  16. <Suspense fallback={<Loader />}>
  17. <Routes>
  18. {/* Auth routes */}
  19. <Route path='/sign-in' element={<SignIn />} />
  20. <Route path='/sign-in-2' element={<SignIn2 />} />
  21. <Route path='/sign-up' element={<SignUp />} />
  22. <Route path='/forgot-password' element={<ForgotPassword />} />
  23. <Route path='/' element={<AppShell />} errorElement={<GeneralError />}>
  24. <Route path='/' element={<Dashboard />} />
  25. </Route>
  26. {/* Error routes */}
  27. <Route path='/500' element={<GeneralError />} />
  28. <Route path='/404' element={<NotFoundError />} />
  29. <Route path='/503' element={<MaintenanceError />} />
  30. </Routes>
  31. </Suspense>
  32. )
  33. }