mirror of
https://github.com/gustavosett/Windows-11-Clipboard-History-For-Linux
synced 2026-04-25 17:15:35 +02:00
31 lines
732 B
TypeScript
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
|
|
}
|