11import { lazy , Suspense } from "react" ;
2- import { createBrowserRouter } from "react-router-dom" ;
3- import { Home , Login , Signup , Dashboard , CreateJob , Jobs , EditJob , Logs , JobLogs , Settings , NotFoundPage , ForgotPassword } from "./pages" ;
2+ import { createBrowserRouter , Outlet } from "react-router-dom" ;
3+ import { Dashboard , CreateJob , Jobs , EditJob , Logs , JobLogs , Settings } from "./pages" ;
44import { Layout , ProtectedRoute , PublicRoute , Loader } from "./components" ;
55
6+ const Home = lazy ( ( ) => import ( "./pages/Home" ) ) ;
67const PrivacyPolicy = lazy ( ( ) => import ( "./pages/PrivacyPolicy" ) ) ;
78const Terms = lazy ( ( ) => import ( "./pages/Terms" ) ) ;
89const VerifyEmail = lazy ( ( ) => import ( "./pages/VerifyUserEmail" ) ) ;
910const ResetPassword = lazy ( ( ) => import ( "./pages/ResetPassword" ) ) ;
11+ const NotFoundPage = lazy ( ( ) => import ( "./pages/NotFoundPage" ) ) ;
12+ const Login = lazy ( ( ) => import ( "./pages/Login" ) ) ;
13+ const Signup = lazy ( ( ) => import ( "./pages/Signup" ) ) ;
14+ const ForgotPassword = lazy ( ( ) => import ( "./pages/ForgotPassword" ) ) ;
1015
1116export const router = createBrowserRouter ( [
12- { path : "/" , element : < Home /> } ,
13-
1417 {
15- path : "/privacy-policy" ,
1618 element : (
1719 < Suspense fallback = { < Loader /> } >
18- < PrivacyPolicy />
20+ < Outlet />
1921 </ Suspense >
2022 ) ,
23+ children : [
24+ { path : "/" , element : < Home /> } ,
25+ { path : "/privacy-policy" , element : < PrivacyPolicy /> } ,
26+ { path : "/terms" , element : < Terms /> } ,
27+ { path : "/verify-email/:userId" , element : < VerifyEmail /> } ,
28+ { path : "/reset-password/:token" , element : < ResetPassword /> } ,
29+ { path : "*" , element : < NotFoundPage /> } ,
30+ ] ,
2131 } ,
2232 {
23- path : "/terms " ,
33+ path : "/login " ,
2434 element : (
2535 < Suspense fallback = { < Loader /> } >
26- < Terms / >
36+ < PublicRoute > < Login /> </ PublicRoute >
2737 </ Suspense >
2838 ) ,
2939 } ,
30- { path : "/login" , element : < PublicRoute > < Login /> </ PublicRoute > } ,
31- { path : "/signup" , element : < PublicRoute > < Signup /> </ PublicRoute > } ,
32- { path : "/forgot-password" , element : < PublicRoute > < ForgotPassword /> </ PublicRoute > } ,
33-
3440 {
35- path : "/verify-email/:userId " ,
41+ path : "/signup " ,
3642 element : (
3743 < Suspense fallback = { < Loader /> } >
38- < VerifyEmail / >
44+ < PublicRoute > < Signup /> </ PublicRoute >
3945 </ Suspense >
4046 ) ,
4147 } ,
4248 {
43- path : "/reset -password/:token " ,
49+ path : "/forgot -password" ,
4450 element : (
4551 < Suspense fallback = { < Loader /> } >
46- < ResetPassword / >
52+ < PublicRoute > < ForgotPassword /> </ PublicRoute >
4753 </ Suspense >
4854 ) ,
4955 } ,
50-
5156 {
5257 element : < ProtectedRoute /> ,
5358 children : [
@@ -65,6 +70,4 @@ export const router = createBrowserRouter([
6570 } ,
6671 ] ,
6772 } ,
68-
69- { path : "*" , element : < NotFoundPage /> } ,
7073] ) ;
0 commit comments