'use client'; import { initializeApp, getApps, getApp } from 'firebase/app'; import { getMessaging, isSupported } from 'firebase/messaging'; const firebaseConfig = { apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY, authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN, projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID, storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID, appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID, }; const app = !getApps().length ? initializeApp(firebaseConfig) : getApp(); const messagingPromise = isSupported().then((supported) => { if (supported && typeof window !== 'undefined') { return getMessaging(app); } return null; }); export { app, messagingPromise };