// jsdom lacks matchMedia (used by usehooks-ts useMediaQuery). if (typeof window !== 'undefined' && !window.matchMedia) { window.matchMedia = (query: string): MediaQueryList => ({ matches: false, media: query, onchange: null, addListener: () => {}, removeListener: () => {}, addEventListener: () => {}, removeEventListener: () => {}, dispatchEvent: () => false, }) as MediaQueryList; }