summaryrefslogtreecommitdiffstats
path: root/frontend-components/tables/src/utils/useDarkMode.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-components/tables/src/utils/useDarkMode.tsx')
-rw-r--r--frontend-components/tables/src/utils/useDarkMode.tsx14
1 files changed, 14 insertions, 0 deletions
diff --git a/frontend-components/tables/src/utils/useDarkMode.tsx b/frontend-components/tables/src/utils/useDarkMode.tsx
new file mode 100644
index 00000000000..9a631e2f6ee
--- /dev/null
+++ b/frontend-components/tables/src/utils/useDarkMode.tsx
@@ -0,0 +1,14 @@
+import { useState, useEffect } from "react";
+
+export default function useDarkMode(initialTheme: "dark" | "light") {
+ const [theme, setTheme] = useState(initialTheme);
+ const colorTheme = theme === "dark" ? "light" : "dark";
+
+ useEffect(() => {
+ const root = window.document.documentElement;
+ root.classList.remove(colorTheme);
+ root.classList.add(theme);
+ }, [theme, colorTheme]);
+
+ return [colorTheme, setTheme];
+}