11import { useEffect } from "react" ;
22
3- import { BrowserRouter , Route , Routes } from "react-router-dom" ;
3+ import { BrowserRouter } from "react-router-dom" ;
44
55import "./App.css" ;
66
7-
8-
9- import DashboardPage from "./features/Member/v1/Pages/DashboardPage" ;
10-
11- import MemberPage from "./features/Member/v1/Pages/MemberPage" ;
12-
13- import MemberLayout from "./layouts/MemberLayout" ;
14-
15- import AddMemberPage from "./features/AddMember/v1/Page/AddMemberPage" ;
16-
17- import CreateNewEvent from "./features/Events/v1/Pages/CreateNewEvent" ;
18-
19- import Contact from "./features/Contact_And_Support/v1/Pages/Contact" ;
20-
21- import ViewEvent from "./features/Events/v1/Pages/ViewEvent" ;
22- import LoginPage from "./features/Auth/v1/Pages/LoginPage" ;
23-
24- import SignUpPage from "./features/Auth/v1/Pages/SignUpPage" ;
25-
26- import AnalyticsPage from "./features/Member/v1/Pages/Analytics" ;
27-
28- import NotificationsPage from "./features/Member/v1/Pages/Notifications" ;
29-
30- import SettingsPage from "./features/Member/v1/Pages/Settings" ;
31-
32- import TasksPage from "./features/Member/v1/Pages/Tasks" ;
33-
34- import TeamsPage from "./features/Member/v1/Pages/Teams" ;
35-
36- import WorkspacePage from "./features/Member/v1/Pages/WorkSpace" ;
37-
38- import MessagesPage from "./features/Member/v1/Pages/Messages" ;
39-
40- import BillingPage from "./features/Member/v1/Pages/Billing" ;
41- import { dashboardData } from "./features/member/mock/dashboardData" ;
7+ import { dashboardData } from "./features/Member/v1/mock/dashboardData" ;
428import { startAutoUpdater } from "./system/updater/autoUpdater" ;
439
44- import ProtectedRoute from "./routes/ProtectedRoute" ;
45-
4610import { ThemeProvider } from "next-themes" ;
47-
48- import Organisation_Template from "./features/template/LoginUserTemplate" ;
49- import DashBoardPage from "./features/Dashboard/Organisation/v1/Pages/DashBoardPage" ;
50-
51-
52-
11+ import OrgRoute from "./routes/OrgRoute" ;
12+ import MemberRoutes from "./routes/MemberRoutes" ;
5313
5414function App ( ) {
5515 useEffect ( ( ) => {
@@ -60,151 +20,14 @@ function App() {
6020
6121 return (
6222 < ThemeProvider attribute = "class" defaultTheme = "light" >
23+ < BrowserRouter >
6324
64- < BrowserRouter >
65- < Routes >
66- { /* Public Routes */ }
67- < Route path = "/" element = { < LoginPage /> } />
68-
69- < Route path = "/signup" element = { < SignUpPage /> } />
70-
71- { /* Member Routes */ }
72-
73-
74-
75- < Route path = "/org" element = { < Organisation_Template /> } >
76- { /* Dashboard */ }
77- < Route
78- index
79- element = {
80- < ProtectedRoute user = { user } allowedRoles = { [ "organization" ] } >
81- < DashBoardPage />
82- </ ProtectedRoute >
83- }
84- />
85-
86- < Route
87- path = "dashboard"
88- element = {
89- < ProtectedRoute user = { user } allowedRoles = { [ "organization" ] } >
90- < DashBoardPage />
91- </ ProtectedRoute >
92- }
93- />
94-
95-
96- < Route path = "teams" element = { < MemberPage /> } />
97-
98-
99-
100-
101- { /* Events */ }
102- < Route path = "events" element = { < ViewEvent /> } />
103-
104- < Route path = "create-event" element = { < CreateNewEvent /> } />
105-
106- { /* Contact */ }
107- < Route path = "contact" element = { < Contact /> } />
108-
109- { /* Add Member */ }
110- < Route path = "add-member" element = { < AddMemberPage /> } />
111-
112-
113- </ Route >
114-
115-
116- < Route path = "/member" element = { < MemberLayout /> } >
117- { /* Dashboard */ }
118- < Route
119- index
120- element = {
121- < ProtectedRoute user = { user } allowedRoles = { [ "Member" ] } >
122- < DashboardPage />
123- </ ProtectedRoute >
124- }
125- />
126-
127- < Route
128- path = "dashboard"
129- element = {
130- < ProtectedRoute user = { user } allowedRoles = { [ "Member" ] } >
131- < DashboardPage />
132- </ ProtectedRoute >
133- }
134- />
135-
136-
137-
138- { /* Member Modules */ }
139- < Route path = "analytics" element = { < AnalyticsPage /> } />
140-
141- < Route path = "notifications" element = { < NotificationsPage /> } />
142-
143- < Route path = "settings" element = { < SettingsPage /> } />
144-
145- < Route path = "tasks" element = { < TasksPage /> } />
146-
147-
148-
149- < Route path = "workspace" element = { < WorkspacePage /> } />
150-
151- < Route path = "messages" element = { < MessagesPage /> } />
152-
153- < Route path = "billing" element = { < BillingPage /> } />
154-
155- { /* Events */ }
156- < Route path = "events" element = { < ViewEvent /> } />
25+ < OrgRoute />
15726
27+ < MemberRoutes />
15828
159-
160- { /* Contact */ }
161- < Route path = "contact" element = { < Contact /> } />
162-
163-
164- { /* 404 */ }
165- < Route
166- path = "*"
167- element = {
168- < div
169- className = "
170- flex items-center justify-center
171-
172- h-[60vh]
173-
174- text-xl font-semibold
175-
176- text-gray-500
177- dark:text-zinc-400
178- "
179- >
180- 404 Not Found
181- </ div >
182- }
183- />
184- </ Route >
185-
186- { /* Unauthorized */ }
187- < Route
188- path = "/unauthorized"
189- element = {
190- < div
191- className = "
192- flex items-center justify-center
193-
194- h-screen
195-
196- text-xl font-semibold
197-
198- text-red-500
199- "
200- >
201- Unauthorized Access
202- </ div >
203- }
204- />
205- </ Routes >
206- </ BrowserRouter >
207- </ ThemeProvider >
29+ </ BrowserRouter >
30+ </ ThemeProvider >
20831 ) ;
20932}
21033
0 commit comments