()
| 16 | } |
| 17 | |
| 18 | export function useSystemColorScheme(): SystemColorScheme { |
| 19 | const [colorScheme, setColorScheme] = |
| 20 | React.useState<SystemColorScheme>(getSystemColorScheme); |
| 21 | |
| 22 | React.useEffect(() => { |
| 23 | const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)"); |
| 24 | const updateColorScheme = () => { |
| 25 | setColorScheme(mediaQuery.matches ? "dark" : "light"); |
| 26 | }; |
| 27 | |
| 28 | updateColorScheme(); |
| 29 | mediaQuery.addEventListener("change", updateColorScheme); |
| 30 | |
| 31 | return () => { |
| 32 | mediaQuery.removeEventListener("change", updateColorScheme); |
| 33 | }; |
| 34 | }, []); |
| 35 | |
| 36 | return colorScheme; |
| 37 | } |
no test coverage detected