diff options
Diffstat (limited to 'frontend-components/tables/src/utils/useDarkMode.tsx')
-rw-r--r-- | frontend-components/tables/src/utils/useDarkMode.tsx | 14 |
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]; +} |