Files
linsa-linsa-io/web/components/minimal-tiptap/hooks/use-theme.ts
Aslam 711fe35e1a feat: feedback (#156)
* minimal tiptap

* wip

* img edit block

* wip

* fix
2024-09-10 13:58:58 +03:00

26 lines
626 B
TypeScript

import * as React from 'react'
export const useTheme = () => {
const [isDarkMode, setIsDarkMode] = React.useState(false)
React.useEffect(() => {
const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
setIsDarkMode(darkModeMediaQuery.matches)
const handleChange = (e: MediaQueryListEvent) => {
const newDarkMode = e.matches
setIsDarkMode(newDarkMode)
}
darkModeMediaQuery.addEventListener('change', handleChange)
return () => {
darkModeMediaQuery.removeEventListener('change', handleChange)
}
}, [])
return isDarkMode
}
export default useTheme