@@ -5,31 +5,44 @@ import {
55 Route ,
66 Navigate ,
77} from 'react-router-dom' ;
8- import { ConfigProvider } from 'antd' ;
8+ import { ConfigProvider , theme } from 'antd' ;
99import enUS from 'antd/locale/en_US' ;
10+ // @ts -ignore
11+ import { usePersistentState } from 'persistent-state-react' ;
1012
1113import { CustomLayout } from './layout/CustomLayout' ;
1214import { LazyLanding } from './component/landing/LazyLanding' ;
1315import { LazyPage2 } from './component/LazyPage2' ;
1416import { LazyPage3 } from './component/LazyPage3' ;
1517
16- const App = ( ) => (
17- < ConfigProvider locale = { enUS } >
18- < BrowserRouter basename = "/react-pipeline" >
19- < CustomLayout >
20- < Routes >
21- < Route path = "/landing" element = { < LazyLanding /> } />
22- < Route path = "/page2" element = { < LazyPage2 /> } />
23- < Route path = "/page3" element = { < LazyPage3 /> } />
24- < Route
25- path = "*"
26- element = { < Navigate to = "/landing" replace /> }
27- />
28- </ Routes >
29- </ CustomLayout >
30- </ BrowserRouter >
31- </ ConfigProvider >
32- ) ;
18+ const App = ( ) => {
19+ const [ isDark , setIsDark ] = usePersistentState < boolean > ( 'global/theme' , false ) ;
20+
21+ const toggleTheme = ( ) => setIsDark ( ! isDark ) ;
22+
23+ return (
24+ < ConfigProvider
25+ locale = { enUS }
26+ theme = { {
27+ algorithm : isDark ? theme . darkAlgorithm : theme . defaultAlgorithm ,
28+ } }
29+ >
30+ < BrowserRouter basename = "/react-pipeline" >
31+ < CustomLayout isDark = { isDark } toggleTheme = { toggleTheme } >
32+ < Routes >
33+ < Route path = "/landing" element = { < LazyLanding /> } />
34+ < Route path = "/page2" element = { < LazyPage2 /> } />
35+ < Route path = "/page3" element = { < LazyPage3 /> } />
36+ < Route
37+ path = "*"
38+ element = { < Navigate to = "/landing" replace /> }
39+ />
40+ </ Routes >
41+ </ CustomLayout >
42+ </ BrowserRouter >
43+ </ ConfigProvider >
44+ ) ;
45+ } ;
3346
3447// eslint-disable-next-line import/no-default-export
3548export default App ;
0 commit comments