Skip to content

Commit f014e58

Browse files
committed
fix: fallback to previous MQL api for Safari <14
1 parent fa21732 commit f014e58

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

client/hooks/useMediaQuery.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,19 @@ export function useMediaQuery(query: string, serverFallback: boolean = false): b
77
return [
88
() => mediaQueryList.matches,
99
(notify: () => void) => {
10-
mediaQueryList.addEventListener('change', notify);
10+
if ('addEventListener' in mediaQueryList) {
11+
mediaQueryList.addEventListener('change', notify);
12+
} else {
13+
//@ts-expect-error - Needed for Safari 13
14+
mediaQueryList.addListener(notify);
15+
}
1116
return () => {
12-
mediaQueryList.removeEventListener('change', notify);
17+
if ('removeEventListener' in mediaQueryList) {
18+
mediaQueryList.removeEventListener('change', notify);
19+
} else {
20+
//@ts-expect-error - Needed for Safari 13
21+
mediaQueryList.removeListener(notify);
22+
}
1323
};
1424
},
1525
() => serverFallback,

0 commit comments

Comments
 (0)