my-kaiqiuwang/src/hooks/useNotificationToken.ts
kyuuseiryuu 5c885eb3fa fix(firebase): add null checks for service worker registration and token
- 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
2026-03-27 21:30:42 +09:00

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];
}