From 23baaec3aa8d26d44e0d9a605f32a2b8aff8ed44 Mon Sep 17 00:00:00 2001 From: Tristan Yang Date: Tue, 9 Aug 2022 18:01:15 +0800 Subject: [PATCH] fix: firebase req error repeatly --- src/common/component/Notification/useDeviceToken.ts | 8 +++++++- src/routes/home/index.tsx | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/component/Notification/useDeviceToken.ts b/src/common/component/Notification/useDeviceToken.ts index 02f19478..15e74d22 100644 --- a/src/common/component/Notification/useDeviceToken.ts +++ b/src/common/component/Notification/useDeviceToken.ts @@ -2,12 +2,15 @@ import { useState } from "react"; import { initializeApp } from "firebase/app"; import { getToken, getMessaging } from "firebase/messaging"; import { firebaseConfig } from "../../../app/config"; +let requesting = false; +let error = false; const useDeviceToken = (vapidKey: string) => { const [token, setToken] = useState(null); // https only if (navigator.serviceWorker) { const messaging = getMessaging(initializeApp(firebaseConfig)); - + if (requesting || error) return; + requesting = true; getToken(messaging, { vapidKey }) @@ -21,8 +24,11 @@ const useDeviceToken = (vapidKey: string) => { // Show permission request UI console.log("No registration token available. Request permission to generate one."); } + requesting = false; }) .catch((err) => { + requesting = false; + error = true; console.log("An error occurred while retrieving token. ", err); }); } diff --git a/src/routes/home/index.tsx b/src/routes/home/index.tsx index 2f72136a..0c111cb6 100644 --- a/src/routes/home/index.tsx +++ b/src/routes/home/index.tsx @@ -41,7 +41,6 @@ export default function HomePage() { if (isSettingPage) { return ( <> - );