"use client"; import { initializeApp, getApps, getApp, FirebaseApp } from "firebase/app"; import { getAnalytics } from "firebase/analytics"; import { initializeAppCheck, ReCaptchaV3Provider } from "firebase/app-check"; const firebaseConfig = { apiKey: process.env.NEXT_PUBLIC_APIKEY, authDomain: process.env.NEXT_PUBLIC_AUTHDOMAIN, projectId: process.env.NEXT_PUBLIC_PROJECTID, storageBucket: process.env.NEXT_PUBLIC_STORAGEBUCKET, messagingSenderId: process.env.NEXT_PUBLIC_SENDERID, appId: process.env.NEXT_PUBLIC_APPID, measurementId: process.env.NEXT_PUBLIC_MEASUREMENTID, }; const firebaseApp = (): FirebaseApp => { let app: FirebaseApp; if (!getApps().length) { app = initializeApp(firebaseConfig); if (typeof window !== "undefined") { getAnalytics(app); initializeAppCheck(app, { provider: new ReCaptchaV3Provider( process.env.NEXT_PUBLIC_RECAPTCHA_SITE_KEY as string, ), isTokenAutoRefreshEnabled: true, }); } } else { app = getApp(); } return app; }; export default firebaseApp;