summaryrefslogtreecommitdiffhomepage
path: root/cloud/web/src/components/context-theme.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'cloud/web/src/components/context-theme.tsx')
-rw-r--r--cloud/web/src/components/context-theme.tsx39
1 files changed, 0 insertions, 39 deletions
diff --git a/cloud/web/src/components/context-theme.tsx b/cloud/web/src/components/context-theme.tsx
deleted file mode 100644
index 7800aeca0..000000000
--- a/cloud/web/src/components/context-theme.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { createStore } from "solid-js/store"
-import { makePersisted } from "@solid-primitives/storage"
-import { createEffect } from "solid-js"
-import { createInitializedContext } from "../util/context"
-import { isServer } from "solid-js/web"
-
-interface Storage {
- mode: "light" | "dark"
-}
-
-export const { provider: ThemeProvider, use: useTheme } =
- createInitializedContext("ThemeContext", () => {
- const [store, setStore] = makePersisted(
- createStore<Storage>({
- mode:
- !isServer &&
- window.matchMedia &&
- window.matchMedia("(prefers-color-scheme: dark)").matches
- ? "dark"
- : "light",
- }),
- {
- name: "theme",
- },
- )
- createEffect(() => {
- document.documentElement.setAttribute("data-color-mode", store.mode)
- })
-
- return {
- setMode(mode: Storage["mode"]) {
- setStore("mode", mode)
- },
- get mode() {
- return store.mode
- },
- ready: true,
- }
- })