-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrouter.tsx
110 lines (107 loc) · 4.44 KB
/
router.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/* eslint-disable */
import React from 'react';
import { Navigate, Route, Routes } from 'react-router-dom';
import LandingPage from './pages/LandingPage';
import { SignUp } from './pages/SignUp';
import NotFound from './pages/NotFound';
import Layout from './components/layout/Layout';
import VerifyEmail from './pages/VerifyEmail';
import { EmailVerifying } from './pages/EmailVerifying';
import { ResendEmail } from './components/ResendEmail';
import GoogleCallback from './components/GoogleCallback';
import SendResetPasswordLink from './pages/SendResetPasswordLink';
import ResetPassword from './pages/ResetPassword';
import { ProtectedRoute } from './utils/protectRoute/ProtectedRoute';
import ViewProduct from './pages/ViewProduct';
import Login from './pages/Login';
import UserViewCart from './pages/UserViewCart';
import Search from './pages/Search';
import SellerViewProduct from './pages/seller/SellerViewProduct';
import SellerCollection from './pages/seller/SellerCollection';
import { SellerLayout } from './components/layout/SellerLayout';
import SellerDashboard from './pages/seller/SellerDashboard';
import { AdminDashboard } from './pages/admin/Dashboard';
import { OverViewDashboard } from './pages/admin/OverView';
import Users from './pages/admin/Users';
import Logout from './components/layout/Logout';
import UserProfile from './pages/UserEditProfile';
import ProductsPage from './pages/Products';
import TrackOrder from './pages/trackOrder';
import UserVIewOrders from './pages/UserViewOrders';
import WishList from './pages/wishList';
const AppRouter: React.FC = () => {
return (
<div>
<Routes>
<Route path="/" element={<Layout />}>
<Route index element={<LandingPage />} />
<Route path="/home" element={<LandingPage />} />
<Route path="/products" element={<ProductsPage />} />
<Route path="signup" element={<SignUp />} />
<Route path="login" element={<Login />} />
<Route path="verify-email" element={<EmailVerifying />} />
<Route path="resend-email" element={<ResendEmail />} />
<Route
path="/api/auth/verify-email/:token"
element={<VerifyEmail />}
/>
<Route
path="/api/auth/google/callback"
element={<GoogleCallback />}
/>
<Route path="/reset-password" element={<SendResetPasswordLink />} />
<Route
path="/api/auth/reset-password/:token"
element={<ResetPassword />}
/>
<Route path="product/:id" element={<ViewProduct />} />
<Route path="search" element={<Search />} />
<Route path="logout" element={<Logout />} />
<Route path="shopping-cart" element={<UserViewCart />} />
<Route path="my-orders" element={<UserVIewOrders />} />
<Route
path="trackOrder/:orderId/:productId"
element={<TrackOrder />}
/>
<Route
path="/profile-settings"
element={
<ProtectedRoute redirectPath="/login">
<UserProfile />
</ProtectedRoute>
}
/>
<Route path="wishList" element={<WishList />}/>
<Route path="*" element={<NotFound />} />
</Route>
<Route path="/seller" element={<SellerLayout />}>
<Route index element={<Navigate to="dashboard" replace />} />
<Route path="dashboard" element={<SellerDashboard />} />
<Route path="product/:id" element={<SellerViewProduct />} />
<Route path="products" element={<SellerCollection />} />
</Route>
<Route path="/seller" element={<SellerLayout />}>
<Route index element={<Navigate to="dashboard" replace />} />
<Route path="dashboard" element={<SellerDashboard />} />
<Route path="product/:id" element={<SellerViewProduct />} />
<Route path="products" element={<SellerCollection />} />
</Route>
<Route path="/admin">
<Route index element={<Navigate to="dashboard" replace />} />
<Route
path="dashboard"
element={
<ProtectedRoute redirectPath="/login">
<AdminDashboard />
</ProtectedRoute>
}
>
<Route index element={<OverViewDashboard />} />
<Route path="users" element={<Users />} />
</Route>
</Route>
</Routes>
</div>
);
};
export default AppRouter;