From 3620dccbac79dd236f5dbc5f83f974366e7426bc Mon Sep 17 00:00:00 2001 From: Jandson Vitorino Date: Wed, 2 Aug 2023 00:33:16 -0300 Subject: [PATCH] persist the last theme chosen by the user --- frontend/components/Header.js | 6 +++++- frontend/pages/_app.js | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/components/Header.js b/frontend/components/Header.js index 6c0a992..9008bbb 100644 --- a/frontend/components/Header.js +++ b/frontend/components/Header.js @@ -73,7 +73,11 @@ function Header({ darkMode, setDarkMode }) { } const handleToggleDarkMode = () => { - setDarkMode(prevMode => !prevMode) + setDarkMode(prevMode => { + const newMode = !prevMode + localStorage.setItem('darkMode', newMode ? '1' : '0') + return newMode + }) } return ( diff --git a/frontend/pages/_app.js b/frontend/pages/_app.js index 279e032..58bfd92 100644 --- a/frontend/pages/_app.js +++ b/frontend/pages/_app.js @@ -22,6 +22,11 @@ export default function MyApp(props) { if (jssStyles) { jssStyles.parentElement.removeChild(jssStyles) } + + const darkModePreference = localStorage.getItem('darkMode') + if (darkModePreference) { + setDarkMode(darkModePreference === '1') + } }, []) const light = createTheme({