@@ -8,6 +8,8 @@ import EventsPage from './pages/EventsPage'
88import EventDetailPage from './pages/EventDetailPage'
99import SignInPage from './pages/SignInPage'
1010import SignUpPage from './pages/SignUpPage'
11+ import MigrationPage from './pages/MigrationPage'
12+ import EmailVerificationPage from './pages/EmailVerificationPage'
1113import DashboardPage from './pages/DashboardPage'
1214import DashboardLayout from './components/dashboard/DashboardLayout'
1315import DashboardMainPage from './pages/DashboardMainPage'
@@ -19,6 +21,7 @@ import TermsOfServicePage from './pages/TermsOfServicePage'
1921import UpdatesPage from './pages/UpdatesPage'
2022import { AuthProvider } from './context/AuthContext'
2123import { ProtectedRoute } from './components/auth/ProtectedRoute'
24+ import MigrationRoute from './components/auth/MigrationRoute'
2225import ScrollToTop from './components/common/ScrollToTop'
2326
2427// Admin components
@@ -53,8 +56,14 @@ const App = () => {
5356 < Route path = "/terms" element = { < TermsOfServicePage /> } />
5457 < Route path = "/updates" element = { < UpdatesPage /> } />
5558
56- { /* Protected Routes */ }
59+ { /* Migration and Email Verification Routes */ }
5760 < Route element = { < ProtectedRoute /> } >
61+ < Route path = "/migration" element = { < MigrationPage /> } />
62+ < Route path = "/email-verification" element = { < EmailVerificationPage /> } />
63+ </ Route >
64+
65+ { /* Protected Routes with Migration Check */ }
66+ < Route element = { < MigrationRoute /> } >
5867 { /* Dashboard routes with layout */ }
5968 < Route path = "/dashboard" element = { < DashboardLayout /> } >
6069 < Route index element = { < DashboardMainPage /> } />
@@ -65,23 +74,25 @@ const App = () => {
6574 < Route path = "/logout" element = { < LogoutPage /> } />
6675 </ Route >
6776
68- { /* Routes with specific role requirements */ }
69- < Route element = { < ProtectedRoute requiredRoles = { [ 'ADMIN' , 'GRAND_PATHFINDER' , 'CHIEF_PATHFINDER' ] } /> } >
70- < Route path = "/admin" element = { < AdminLayout /> } >
71- < Route index element = { < AdminDefaultRedirect /> } />
72- < Route element = { < ProtectedRoute requiredRoles = { [ 'GRAND_PATHFINDER' ] } /> } >
73- < Route path = "users" element = { < AdminUsersPage /> } />
74- < Route path = "specializations" element = { < AdminSpecializationsPage /> } />
77+ { /* Routes with specific role requirements - also wrapped with MigrationRoute */ }
78+ < Route element = { < MigrationRoute /> } >
79+ < Route element = { < ProtectedRoute requiredRoles = { [ 'ADMIN' , 'GRAND_PATHFINDER' , 'CHIEF_PATHFINDER' ] } /> } >
80+ < Route path = "/admin" element = { < AdminLayout /> } >
81+ < Route index element = { < AdminDefaultRedirect /> } />
82+ < Route element = { < ProtectedRoute requiredRoles = { [ 'GRAND_PATHFINDER' ] } /> } >
83+ < Route path = "users" element = { < AdminUsersPage /> } />
84+ < Route path = "specializations" element = { < AdminSpecializationsPage /> } />
85+ </ Route >
86+ < Route path = "cohorts" element = { < AdminCohortsPage /> } />
87+ < Route path = "leagues" element = { < AdminLeaguesPage /> } />
88+ < Route path = "weeks" element = { < AdminWeeksPage /> } />
89+ < Route path = "sections" element = { < AdminSectionsPage /> } />
90+ < Route path = "resources" element = { < AdminResourcesPage /> } />
91+ < Route path = "assignments" element = { < AdminAssignmentsPage /> } />
7592 </ Route >
76- < Route path = "cohorts" element = { < AdminCohortsPage /> } />
77- < Route path = "leagues" element = { < AdminLeaguesPage /> } />
78- < Route path = "weeks" element = { < AdminWeeksPage /> } />
79- < Route path = "sections" element = { < AdminSectionsPage /> } />
80- < Route path = "resources" element = { < AdminResourcesPage /> } />
81- < Route path = "assignments" element = { < AdminAssignmentsPage /> } />
93+ { /* Legacy redirect for old admin page */ }
94+ < Route path = "/admin-old" element = { < AdminPage /> } />
8295 </ Route >
83- { /* Legacy redirect for old admin page */ }
84- < Route path = "/admin-old" element = { < AdminPage /> } />
8596 </ Route >
8697
8798 { /* Fallback route - redirect to home */ }
0 commit comments