1- import React , { lazy , useEffect } from 'react' ;
1+ import React , { lazy , Suspense , useEffect } from 'react' ;
22import { useDispatch } from 'react-redux' ;
33import { BrowserRouter , Routes , Route , useLocation } from 'react-router-dom' ;
44import { AppDispatch } from './stores/store' ;
@@ -11,6 +11,7 @@ import ModelPage from './pages/ModelPage';
1111import Header from './components/templates/Header/Header' ;
1212import Footer from './components/templates/footer/Footer' ;
1313import AdminRoute from './components/auth/AdminRoute' ;
14+ import { Loader } from './components/common' ;
1415
1516import './i18n' ;
1617import './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