binwiederhier 2 лет назад
Родитель
Сommit
12df164245
2 измененных файлов с 6 добавлено и 13 удалено
  1. 0 1
      web/src/components/Preferences.jsx
  2. 6 12
      web/src/components/hooks.js

+ 0 - 1
web/src/components/Preferences.jsx

@@ -78,7 +78,6 @@ const Preferences = () => (
 
 const Notifications = () => {
   const { t } = useTranslation();
-
   const isLaunchedPWA = useIsLaunchedPWA();
 
   return (

+ 6 - 12
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;
 };
 
 /**