Skip to content

Commit 7dd8561

Browse files
committed
Add Suspense around routes to prevent empty admin page
1 parent 4cf92f7 commit 7dd8561

1 file changed

Lines changed: 24 additions & 21 deletions

File tree

src/App.tsx

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { lazy, useEffect } from 'react';
1+
import React, { lazy, Suspense, useEffect } from 'react';
22
import { useDispatch } from 'react-redux';
33
import { BrowserRouter, Routes, Route, useLocation } from 'react-router-dom';
44
import { AppDispatch } from './stores/store';
@@ -11,6 +11,7 @@ import ModelPage from './pages/ModelPage';
1111
import Header from './components/templates/Header/Header';
1212
import Footer from './components/templates/footer/Footer';
1313
import AdminRoute from './components/auth/AdminRoute';
14+
import { Loader } from './components/common';
1415

1516
import './i18n';
1617
import './App.css';
@@ -86,26 +87,28 @@ function App() {
8687
<div style={{ height: '100%' }}>
8788
<Header title='Safety Data' />
8889
<div style={styles.app}>
89-
<Routes>
90-
<Route path='/' element={<HomePage />} />
91-
<Route path='/city' element={<CityPage />} />
92-
<Route path='/model' element={<ModelPage />} />
93-
<Route path='/recommend' element={<RecommendationsPage />} />
94-
{/* Map view removed: MapWithClusters component deleted */}
95-
<Route path='/about' element={<AboutPage />} />
96-
<Route path='/login' element={<Login />} />
97-
<Route path='/register' element={<Register />} />
98-
<Route path='/profile' element={<Profile />} />
99-
<Route path='/login-popup-redirect' element={<LoginPopupRedirect />} />
100-
<Route
101-
path='/admin'
102-
element={
103-
<AdminRoute>
104-
<AdminPage />
105-
</AdminRoute>
106-
}
107-
/>
108-
</Routes>
90+
<Suspense fallback={<Loader />}>
91+
<Routes>
92+
<Route path='/' element={<HomePage />} />
93+
<Route path='/city' element={<CityPage />} />
94+
<Route path='/model' element={<ModelPage />} />
95+
<Route path='/recommend' element={<RecommendationsPage />} />
96+
{/* Map view removed: MapWithClusters component deleted */}
97+
<Route path='/about' element={<AboutPage />} />
98+
<Route path='/login' element={<Login />} />
99+
<Route path='/register' element={<Register />} />
100+
<Route path='/profile' element={<Profile />} />
101+
<Route path='/login-popup-redirect' element={<LoginPopupRedirect />} />
102+
<Route
103+
path='/admin'
104+
element={
105+
<AdminRoute>
106+
<AdminPage />
107+
</AdminRoute>
108+
}
109+
/>
110+
</Routes>
111+
</Suspense>
109112
</div>
110113
<Footer />
111114
</div>

0 commit comments

Comments
 (0)