File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change 1
1
import React , { Suspense , useEffect } from 'react'
2
2
import { HashRouter , Route , Routes } from 'react-router-dom'
3
- import { useSelector } from 'react-redux'
3
+ import { useDispatch , useSelector } from 'react-redux'
4
4
5
5
import { CSpinner } from '@coreui/react'
6
6
import './scss/style.scss'
@@ -34,21 +34,26 @@ const Page404 = React.lazy(() => import('./views/pages/page404/Page404'))
34
34
const Page500 = React . lazy ( ( ) => import ( './views/pages/page500/Page500' ) )
35
35
36
36
const App = ( ) => {
37
+ const dispatch = useDispatch ( )
37
38
const theme = useSelector ( ( state ) => state . theme )
38
-
39
- if ( theme ) {
40
- document . documentElement . dataset . coreuiTheme =
41
- theme === 'auto' && window . matchMedia ( '(prefers-color-scheme: dark)' ) . matches ? 'dark' : theme
42
- }
39
+ const urlParams = new URLSearchParams ( window . location . href . split ( '?' ) [ 1 ] )
43
40
44
41
useEffect ( ( ) => {
42
+ if ( urlParams . get ( 'theme' ) ) {
43
+ dispatch ( { type : 'setTheme' , theme : urlParams . get ( 'theme' ) } )
44
+ }
45
+
45
46
window . matchMedia ( '(prefers-color-scheme: dark)' ) . addEventListener ( 'change' , ( ) => {
46
47
if ( theme !== 'light' || theme !== 'dark' ) {
47
48
setTheme ( getPreferredTheme ( theme ) )
48
49
}
49
50
} )
50
51
} , [ ] )
51
52
53
+ useEffect ( ( ) => {
54
+ setTheme ( getPreferredTheme ( theme ) )
55
+ } , [ theme ] )
56
+
52
57
return (
53
58
< HashRouter >
54
59
< Suspense fallback = { loading } >
You can’t perform that action at this time.
0 commit comments