diff --git a/web/src/components/Preferences.jsx b/web/src/components/Preferences.jsx index d478cf29..6a5d2387 100644 --- a/web/src/components/Preferences.jsx +++ b/web/src/components/Preferences.jsx @@ -78,7 +78,6 @@ const Preferences = () => ( const Notifications = () => { const { t } = useTranslation(); - const isLaunchedPWA = useIsLaunchedPWA(); return ( diff --git a/web/src/components/hooks.js b/web/src/components/hooks.js index 063f39f6..5ff375d2 100644 --- a/web/src/components/hooks.js +++ b/web/src/components/hooks.js @@ -136,6 +136,8 @@ export const useAutoSubscribe = (subscriptions, selected) => { }; const webPushBroadcastChannel = new BroadcastChannel("web-push-broadcast"); +const matchMedia = window.matchMedia("(display-mode: standalone)"); +const isIOSStandalone = window.navigator.standalone === true; /** * Updates the Web Push subscriptions when the list of topics changes, @@ -212,35 +214,27 @@ export const useWebPushTopics = () => { return topics; }; -const matchMedia = window.matchMedia("(display-mode: standalone)"); - -const isIOSStandAlone = window.navigator.standalone === true; - /* - * Watches the "display-mode" to detect if the app is running as a standalone app (PWA), + * Watches the "display-mode" to detect if the app is running as a standalone app (PWA). */ export const useIsLaunchedPWA = () => { const [isStandalone, setIsStandalone] = useState(matchMedia.matches); useEffect(() => { - // no need to listen for events on iOS - if (isIOSStandAlone) { - return () => {}; + if (isIOSStandalone) { + return () => {}; // No need to listen for events on iOS } - const handler = (evt) => { console.log(`[useIsLaunchedPWA] App is now running ${evt.matches ? "standalone" : "in the browser"}`); setIsStandalone(evt.matches); }; - matchMedia.addEventListener("change", handler); - return () => { matchMedia.removeEventListener("change", handler); }; }, []); - return isIOSStandAlone || isStandalone; + return isIOSStandalone || isStandalone; }; /**