24 lines
831 B
TypeScript
24 lines
831 B
TypeScript
'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 };
|