- Add guard clause in useNotificationToken to skip setting state if token is empty - Add check for navigator.serviceWorker support in initServiceWorker - Handle service worker registration failure in getFirebaseToken by returning empty string - Prevents errors and invalid states when Service Worker is unsupported or fails to initialize
17 lines
478 B
TypeScript
17 lines
478 B
TypeScript
import { getFirebaseToken } from "@/utils/firebase-frontend";
|
|
import { isNotificationSupport } from "@/utils/front";
|
|
import { useEffect, useState } from "react";
|
|
|
|
export const useNotificationToken = () => {
|
|
const [token, setToken] = useState<string>();
|
|
useEffect(() => {
|
|
if (!isNotificationSupport()) return;
|
|
getFirebaseToken()
|
|
.then(token => {
|
|
if (!token) return;
|
|
setToken(token);
|
|
})
|
|
.catch(() => {});
|
|
}, []);
|
|
return [token];
|
|
} |