From 8612fe7d5b12d141e03c427cc5687397eb751351 Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Mon, 16 Feb 2026 15:18:33 -0800 Subject: [PATCH] Fix Firebase config to handle missing credentials gracefully Co-authored-by: Cursor --- lib/firebase/config.ts | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/lib/firebase/config.ts b/lib/firebase/config.ts index 28203d4..63238b7 100644 --- a/lib/firebase/config.ts +++ b/lib/firebase/config.ts @@ -13,18 +13,29 @@ const firebaseConfig = { measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID, }; -// Only initialize if we have the API key (skip during build) +// Only initialize if we have the API key (skip during build and if no config) let _app: FirebaseApp | undefined; let _auth: Auth | undefined; let _db: Firestore | undefined; let _storage: FirebaseStorage | undefined; -if (typeof window !== 'undefined' || firebaseConfig.apiKey) { - // Initialize Firebase (client-side only, safe for browser) - _app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; - _auth = getAuth(_app); - _db = getFirestore(_app); - _storage = getStorage(_app); +// Check if Firebase is properly configured +const isFirebaseConfigured = firebaseConfig.apiKey && + firebaseConfig.authDomain && + firebaseConfig.projectId; + +if (isFirebaseConfigured && (typeof window !== 'undefined' || firebaseConfig.apiKey)) { + try { + // Initialize Firebase (client-side only, safe for browser) + _app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; + _auth = getAuth(_app); + _db = getFirestore(_app); + _storage = getStorage(_app); + } catch (error) { + console.warn('Firebase initialization skipped - no credentials configured'); + } +} else { + console.warn('Firebase not configured - using PostgreSQL backend'); } // Export with type assertions - these will be defined at runtime in the browser