From a681b9e412469a96ab73e431be31cce6df6c456e Mon Sep 17 00:00:00 2001 From: GuillaumeSD <47183782+GuillaumeSD@users.noreply.github.com> Date: Sat, 20 Jul 2024 16:20:12 +0200 Subject: [PATCH] fix : local dev without env variables --- src/lib/firebase.ts | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/lib/firebase.ts b/src/lib/firebase.ts index fab782a..90751b6 100644 --- a/src/lib/firebase.ts +++ b/src/lib/firebase.ts @@ -1,20 +1,23 @@ import { FirebaseOptions, initializeApp } from "firebase/app"; import { getAnalytics, isSupported, logEvent } from "firebase/analytics"; -const firebaseConfig: FirebaseOptions = { - 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, - measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID, -}; +const firebaseConfig: FirebaseOptions | undefined = process.env + .NEXT_PUBLIC_FIREBASE_PROJECT_ID + ? { + 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, + measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID, + } + : undefined; -const app = initializeApp(firebaseConfig); +const app = firebaseConfig ? initializeApp(firebaseConfig) : undefined; isSupported().then((supported) => { - if (supported) { + if (supported && app) { getAnalytics(app); } }); @@ -26,7 +29,7 @@ export const logAnalyticsEvent = async ( if (window.location.hostname === "localhost") return; const supported = await isSupported(); - if (!supported) return; + if (!supported || !app) return; const analytics = getAnalytics(app); logEvent(analytics, eventName, eventParams);