Skip to content

Commit 476120f

Browse files
committed
refactor: improve color mode switch
1 parent 5c51d88 commit 476120f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/js/color-modes.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
(() => {
88
const THEME = 'coreui-free-bootstrap-admin-template-theme'
99

10-
const storedTheme = localStorage.getItem(THEME)
10+
const getStoredTheme = () => localStorage.getItem(THEME)
11+
const setStoredTheme = theme => localStorage.setItem(THEME, theme)
1112

1213
const getPreferredTheme = () => {
14+
const storedTheme = getStoredTheme()
15+
1316
if (storedTheme) {
1417
return storedTheme
1518
}
@@ -44,6 +47,7 @@
4447
}
4548

4649
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
50+
const storedTheme = getStoredTheme()
4751
if (storedTheme !== 'light' || storedTheme !== 'dark') {
4852
setTheme(getPreferredTheme())
4953
}
@@ -55,7 +59,7 @@
5559
for (const toggle of document.querySelectorAll('[data-coreui-theme-value]')) {
5660
toggle.addEventListener('click', () => {
5761
const theme = toggle.getAttribute('data-coreui-theme-value')
58-
localStorage.setItem(THEME, theme)
62+
setStoredTheme(theme)
5963
setTheme(theme)
6064
showActiveTheme(theme)
6165
})

0 commit comments

Comments
 (0)