Files
trackmyapp/app/use-ui-mode.ts
2025-01-26 01:22:33 +00:00

24 lines
521 B
TypeScript

import { useEffect, useState } from "react"
function useUiMode() {
const [mode, setMode] = useState<"light" | "dark">("light")
useEffect(() => {
const query = window.matchMedia("(prefers-color-scheme: dark)")
setMode(query.matches ? "dark" : "light")
function onChange(event: MediaQueryListEvent) {
setMode(event.matches ? "dark" : "light")
}
query.addEventListener("change", onChange)
return () => {
query.removeEventListener("change", onChange)
}
}, [])
return mode
}
export { useUiMode }