Files
Windows-11-Clipboard-Histor…/src/hooks/useDarkMode.ts
2025-12-11 01:58:08 -03:00

31 lines
732 B
TypeScript

import { useState, useEffect } from 'react'
/**
* Hook for detecting system dark mode preference
*/
export function useDarkMode(): boolean {
const [isDark, setIsDark] = useState(() => {
if (typeof window !== 'undefined') {
return window.matchMedia('(prefers-color-scheme: dark)').matches
}
return true // Default to dark mode
})
useEffect(() => {
const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')
const handleChange = (e: MediaQueryListEvent) => {
setIsDark(e.matches)
}
// Modern browsers
mediaQuery.addEventListener('change', handleChange)
return () => {
mediaQuery.removeEventListener('change', handleChange)
}
}, [])
return isDark
}