Skip to content

Commit 70be3a2

Browse files
authored
Merge pull request #20 from selamet/dark-mode
feat: default to light mode, persist theme from localStorage
2 parents 5d0fdb4 + 14093b7 commit 70be3a2

1 file changed

Lines changed: 6 additions & 15 deletions

File tree

src/components/Layout.js

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import '../styles/style.css'
1111
import '../styles/new-moon.css'
1212

1313
export const Layout = ({ children }) => {
14-
const [theme, setTheme] = useState('dark')
14+
const [theme, setTheme] = useState('light')
1515
const [currentColor, setCurrentColor] = useState('var(--theme-pink)')
1616

1717
const handleUpdateTheme = (newTheme) => {
@@ -39,20 +39,11 @@ export const Layout = ({ children }) => {
3939
const html = document.documentElement
4040
const savedTheme = window.localStorage.getItem('theme')
4141

42-
if (savedTheme) {
43-
setTheme(savedTheme)
44-
document.documentElement.style.setProperty('color-scheme', savedTheme)
45-
46-
if (savedTheme === 'light') {
47-
html.classList.add('is-light')
48-
html.classList.remove('is-dark')
49-
}
50-
51-
if (savedTheme === 'dark') {
52-
html.classList.add('is-dark')
53-
html.classList.remove('is-light')
54-
}
55-
}
42+
const active = savedTheme || 'light'
43+
setTheme(active)
44+
document.documentElement.style.setProperty('color-scheme', active)
45+
html.classList.add(active === 'dark' ? 'is-dark' : 'is-light')
46+
html.classList.remove(active === 'dark' ? 'is-light' : 'is-dark')
5647
}, [])
5748

5849
return (

0 commit comments

Comments
 (0)