diff --git a/src/components/canvas.jsx b/src/components/canvas.jsx index 81a4ab6..6bdcdd0 100644 --- a/src/components/canvas.jsx +++ b/src/components/canvas.jsx @@ -370,6 +370,8 @@ export default function Canvas(props) { }; }); + const theme = localStorage.getItem("theme"); + return (
@@ -380,8 +382,7 @@ export default function Canvas(props) { className="w-full h-full" style={{ cursor: cursor, - backgroundColor: - settings.mode === "light" ? "white" : "rgba(22, 22, 26, 1)", + backgroundColor: theme === "dark" ? "rgba(22, 22, 26, 1)" : "white", }} > {settings.showGrid && ( diff --git a/src/components/control_panel.jsx b/src/components/control_panel.jsx index d1a507b..3471a20 100644 --- a/src/components/control_panel.jsx +++ b/src/components/control_panel.jsx @@ -921,6 +921,7 @@ export default function ControlPanel(props) { if (body.hasAttribute("theme-mode")) { body.setAttribute("theme-mode", "light"); } + localStorage.setItem("theme", "light"); setSettings((prev) => ({ ...prev, mode: "light" })); }, }, @@ -930,6 +931,7 @@ export default function ControlPanel(props) { if (body.hasAttribute("theme-mode")) { body.setAttribute("theme-mode", "dark"); } + localStorage.setItem("theme", "dark"); setSettings((prev) => ({ ...prev, mode: "dark" })); }, }, diff --git a/src/pages/editor.jsx b/src/pages/editor.jsx index 0be69b7..c972a1f 100644 --- a/src/pages/editor.jsx +++ b/src/pages/editor.jsx @@ -490,6 +490,21 @@ export default function Editor(props) { socket.on("user-connected", onUserConnected); socket.on("user-disconnected", onUserDisconnected); + const theme = localStorage.getItem("theme"); + if (theme === "dark") { + setSettings((prev) => ({ ...prev, mode: "dark" })); + const body = document.body; + if (body.hasAttribute("theme-mode")) { + body.setAttribute("theme-mode", "dark"); + } + } else { + setSettings((prev) => ({ ...prev, mode: "light" })); + const body = document.body; + if (body.hasAttribute("theme-mode")) { + body.setAttribute("theme-mode", "light"); + } + } + return () => { socket.off("connect", onConnect); socket.off("recieve-message", onRecieve);