From ba883ef9a867b10086a3d5c8c4a3b8895566b578 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Sun, 18 Jan 2026 15:00:07 +0300 Subject: [PATCH] fix(motion): edit MotionPreference to avoid errors --- src/shared/lib/accessibility/motion.svelte.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/shared/lib/accessibility/motion.svelte.ts b/src/shared/lib/accessibility/motion.svelte.ts index 939819a..c0a7c52 100644 --- a/src/shared/lib/accessibility/motion.svelte.ts +++ b/src/shared/lib/accessibility/motion.svelte.ts @@ -4,11 +4,6 @@ const isBrowser = typeof window !== 'undefined'; class MotionPreference { // Reactive state #reduced = $state(false); - #mediaQuery: MediaQueryList = new MediaQueryList(); - - private handleChange = (e: MediaQueryListEvent) => { - this.#reduced = e.matches; - }; constructor() { if (isBrowser) { @@ -17,9 +12,12 @@ class MotionPreference { // Set initial value immediately this.#reduced = mediaQuery.matches; - mediaQuery.addEventListener('change', this.handleChange); + // Simple listener that updates the reactive state + const handleChange = (e: MediaQueryListEvent) => { + this.#reduced = e.matches; + }; - this.#mediaQuery = mediaQuery; + mediaQuery.addEventListener('change', handleChange); } } @@ -27,10 +25,6 @@ class MotionPreference { get reduced() { return this.#reduced; } - - destroy() { - this.#mediaQuery.removeEventListener('change', this.handleChange); - } } // Export a single instance to be used everywhere