UNPKG

threed-garden

Version:

ThreeD Garden: WebGL 3D Environment Interface for Next.JS React TypeScript Three.JS React-Three Physics, 2D Paper.JS; APIs: Apollo GraphQL, WordPress; CSS: Tailwind, Radix-UI; Libraries: FarmBot 3D; AI: OpenAI, DeepSeek

21 lines (17 loc) 704 B
import React from 'react' // User system can indicate reduced motion setting https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion const query = '(prefers-reduced-motion: no-preference)' export function usePrefersReducedMotion() { const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(!window.matchMedia(query).matches) React.useEffect(() => { const mediaQueryList = window.matchMedia(query) const listener = (event) => { setPrefersReducedMotion(!event.matches) } mediaQueryList.addListener(listener) return () => { mediaQueryList.removeListener(listener) } }, []) return prefersReducedMotion }