Skip to content

Commit 615f933

Browse files
committed
refactor: improve color modes handling
1 parent efec578 commit 615f933

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/App.js

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, { Suspense, useEffect } from 'react'
22
import { HashRouter, Route, Routes } from 'react-router-dom'
3+
import { useSelector } from 'react-redux'
34

45
import { CSpinner, useColorModes } from '@coreui/react'
56
import './scss/style.scss'
@@ -14,14 +15,21 @@ const Page404 = React.lazy(() => import('./views/pages/page404/Page404'))
1415
const Page500 = React.lazy(() => import('./views/pages/page500/Page500'))
1516

1617
const App = () => {
17-
const { setColorMode } = useColorModes('coreui-free-react-admin-template-theme')
18-
const urlParams = new URLSearchParams(window.location.href.split('?')[1])
18+
const { isColorModeSet, setColorMode } = useColorModes('coreui-free-react-admin-template-theme')
19+
const theme = useSelector((state) => state.theme)
1920

2021
useEffect(() => {
22+
const urlParams = new URLSearchParams(window.location.href.split('?')[1])
2123
if (urlParams.get('theme')) {
2224
setColorMode(urlParams.get('theme'))
2325
}
24-
}, [])
26+
27+
if (isColorModeSet()) {
28+
return
29+
}
30+
31+
setColorMode(theme)
32+
}, []) // eslint-disable-line react-hooks/exhaustive-deps
2533

2634
return (
2735
<HashRouter>

src/store.js

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { createStore } from 'redux'
22

33
const initialState = {
44
sidebarShow: true,
5+
theme: 'light',
56
}
67

78
const changeState = (state = initialState, { type, ...rest }) => {

0 commit comments

Comments
 (0)