mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-06-30 07:16:37 -04:00
deprecated addListener
-> addEventListener
This commit is contained in:
@ -74,11 +74,22 @@ export const ThemeProvider = ({
|
|||||||
const handler = (...args: any) => mediaListener.current(...args);
|
const handler = (...args: any) => mediaListener.current(...args);
|
||||||
const media = window.matchMedia(darkModeQuery);
|
const media = window.matchMedia(darkModeQuery);
|
||||||
|
|
||||||
// note: intentionally using deprecated listener methods to support older iOS/browsers
|
if (media.addEventListener) {
|
||||||
media.addListener(handler);
|
media.addEventListener("change", handler);
|
||||||
|
} else {
|
||||||
|
// support deprecated listener API
|
||||||
|
media.addListener(handler);
|
||||||
|
}
|
||||||
|
|
||||||
handler(media);
|
handler(media);
|
||||||
|
|
||||||
return () => media.removeListener(handler);
|
return () => {
|
||||||
|
if (media.removeEventListener) {
|
||||||
|
media.removeEventListener("change", handler);
|
||||||
|
} else {
|
||||||
|
media.removeListener(handler);
|
||||||
|
}
|
||||||
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// color-scheme handling (tells browser how to render built-in elements like forms, scrollbars, etc.)
|
// color-scheme handling (tells browser how to render built-in elements like forms, scrollbars, etc.)
|
||||||
|
Reference in New Issue
Block a user