Skip to content
Snippets Groups Projects
Commit 2f09abe1ec5d authored by Arnaud Vergnet's avatar Arnaud Vergnet :sun_with_face:
Browse files

fix(frontend): check if localstorage is available before use

localStorage is not available at build time so builds fail without this check
parent f0f26dad80c0
No related branches found
No related tags found
1 merge request!3Setup frontend
......@@ -13,11 +13,16 @@
export function CustomThemeProvider({ children }: PropsWithChildren) {
const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
const savedDarkMode = localStorage.getItem(DARK_MODE_KEY) === "1";
const hasSavedDarkMode = localStorage.getItem(DARK_MODE_KEY) !== null;
const darkModeLocalStorage =
typeof localStorage !== "undefined"
? localStorage.getItem(DARK_MODE_KEY)
: null;
const savedDarkMode = darkModeLocalStorage === "1";
const hasSavedDarkMode = darkModeLocalStorage !== null;
const initialDarkMode = hasSavedDarkMode ? savedDarkMode : prefersDarkMode;
const [darkMode, setDarkMode] = useState(initialDarkMode);
function toggleDarkMode() {
......@@ -18,10 +23,12 @@
const initialDarkMode = hasSavedDarkMode ? savedDarkMode : prefersDarkMode;
const [darkMode, setDarkMode] = useState(initialDarkMode);
function toggleDarkMode() {
localStorage.setItem(DARK_MODE_KEY, darkMode ? "0" : "1");
if (typeof localStorage !== "undefined") {
localStorage.setItem(DARK_MODE_KEY, darkMode ? "0" : "1");
}
setDarkMode(!darkMode);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment