import { initializeApp, getApps } from 'firebase/app'; import { getAuth, GoogleAuthProvider } from 'firebase/auth'; import { getFirestore } from 'firebase/firestore'; const firebaseConfig = { apiKey: import.meta.env.VITE_FIREBASE_API_KEY, authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN, projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID, storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET, messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID, appId: import.meta.env.VITE_FIREBASE_APP_ID, }; export const isFirebaseConfigured = Boolean( firebaseConfig.apiKey && firebaseConfig.authDomain && firebaseConfig.projectId && firebaseConfig.apiKey !== 'undefined' && firebaseConfig.authDomain !== 'undefined' && firebaseConfig.projectId !== 'undefined' && // Force demo mode on localhost for testing !window.location.hostname.includes('localhost') ); let app; let auth; let db; let googleProvider; if (isFirebaseConfigured) { app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; auth = getAuth(app); db = getFirestore(app); googleProvider = new GoogleAuthProvider(); } else { auth = null; db = null; googleProvider = null; } export { auth, db, googleProvider };