Skip to content

Commit 5ce2b3a

Browse files
committed
use localstorage to remember dark mode setting
1 parent 73e3cbe commit 5ce2b3a

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/settings.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from "react";
1+
import React, { useEffect, useState } from "react";
22

33
import { InlineOptions } from "./styles";
44

@@ -13,10 +13,21 @@ const Settings = (props: Props) => {
1313
const { setDisplayMode, displayMode, displaySettings, toggleSettings } =
1414
props;
1515

16+
const useDarkModeLocalStorage = localStorage.getItem("useDarkMode") === "1";
17+
1618
const [hasDarkMode, setDarkMode] = useState(
17-
document.body.classList.contains("latex-dark")
19+
document.body.classList.contains("latex-dark") || useDarkModeLocalStorage
1820
);
1921

22+
useEffect(() => {
23+
localStorage.setItem("useDarkMode", hasDarkMode ? "1" : "0");
24+
if (hasDarkMode) {
25+
if (!document.body.classList.contains("latex-dark")) {
26+
document.body.classList.add("latex-dark");
27+
}
28+
}
29+
}, [hasDarkMode]);
30+
2031
if (!displaySettings) {
2132
return (
2233
<div key="hide">

0 commit comments

Comments
 (0)