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