Spaces:
Running
Running
| import { initializeApp, FirebaseApp } from 'firebase/app' | |
| import { getAuth, Auth } from 'firebase/auth' | |
| import { getFirestore, Firestore } from 'firebase/firestore' | |
| const apiKey = import.meta.env.VITE_FIREBASE_API_KEY as string | undefined | |
| const authDomain = import.meta.env.VITE_FIREBASE_AUTH_DOMAIN as string | undefined | |
| const projectId = import.meta.env.VITE_FIREBASE_PROJECT_ID as string | undefined | |
| // True only when all required env vars are present | |
| export const firebaseReady = !!(apiKey && authDomain && projectId) | |
| let app: FirebaseApp | null = null | |
| let _auth: Auth | null = null | |
| let _db: Firestore | null = null | |
| if (firebaseReady) { | |
| app = initializeApp({ | |
| apiKey, | |
| authDomain, | |
| projectId, | |
| storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET as string | undefined, | |
| messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID as string | undefined, | |
| appId: import.meta.env.VITE_FIREBASE_APP_ID as string | undefined, | |
| }) | |
| _auth = getAuth(app) | |
| _db = getFirestore(app) | |
| } | |
| export const auth = _auth! | |
| export const db = _db! | |