export class ReducedMotionChecker {
    private mediaQuery: MediaQueryList;

    constructor() {
        this.mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
    }

    public shouldReduceMotion(): boolean {
        return this.mediaQuery.matches;
    }

    public onChange(callback: (shouldReduce: boolean) => void): void {
        this.mediaQuery.addEventListener('change', (e) => {
            callback(e.matches);
        });
    }
}
