Files
MikrotikManager/hooks/use-prefers-reduced-motion.ts
T

6 lines
421 B
TypeScript

"use client"
import { useSyncExternalStore } from "react"
const query = "(prefers-reduced-motion: reduce)"
function subscribe(callback: () => void) { const media=window.matchMedia(query); media.addEventListener("change",callback); return ()=>media.removeEventListener("change",callback) }
export function usePrefersReducedMotion() { return useSyncExternalStore(subscribe,()=>window.matchMedia(query).matches,()=>false) }