Skip to content

Commit eaa6728

Browse files
committed
simplify theme toggle code + close mobile nav when activating
1 parent aef5b17 commit eaa6728

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/components/Menu.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ const items = [
4848
const Menu = () => {
4949
const [expanded, setExpanded] = useState(false);
5050

51+
function setTheme(theme) {
52+
setExpanded(false);
53+
54+
localStorage.theme = theme;
55+
document.documentElement.classList.toggle('dark', theme === 'dark');
56+
}
57+
5158
return (
5259
<nav className={css.root}>
5360
<button
@@ -63,20 +70,14 @@ const Menu = () => {
6370
<button
6471
className={css.lightThemeButton}
6572
title="Switch to dark mode"
66-
onClick={() => {
67-
document.documentElement.classList.add('dark');
68-
localStorage.theme = 'dark';
69-
}}>
73+
onClick={() => setTheme('dark')}>
7074
<MdOutlineLightMode size={expanded ? 16 : 24} />
7175
{expanded && ' LIGHT MODE'}
7276
</button>
7377
<button
7478
className={css.darkThemeButton}
7579
title="Switch to light mode"
76-
onClick={() => {
77-
document.documentElement.classList.remove('dark');
78-
localStorage.theme = 'light';
79-
}}>
80+
onClick={() => setTheme('light')}>
8081
<MdOutlineDarkMode
8182
size={expanded ? 16 : 24}
8283
color="rgba(255, 255, 255, 0.8)"

0 commit comments

Comments
 (0)