You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.0 KiB

import { getApp, getApps, initializeApp } from 'firebase/app'
/**
* En Vite solo se exponen variables con prefijo VITE_ desde .env
* @see https://vite.dev/guide/env-and-mode
*/
export const firebaseConfig = {
apiKey: import.meta.env.VITE_FIREBASE_API_KEY,
appId: import.meta.env.VITE_FIREBASE_APP_ID,
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN,
messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID,
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID,
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET,
}
export function isFirebaseConfigured() {
return Object.values(firebaseConfig).every((value) => Boolean(value))
}
let firebaseApp
export function getFirebaseApp() {
if (!isFirebaseConfigured()) {
throw new Error(
'Firebase no esta configurado. Copia .env.example a .env y completa las variables VITE_FIREBASE_*.',
)
}
if (!firebaseApp) {
firebaseApp = getApps().length > 0 ? getApp() : initializeApp(firebaseConfig)
}
return firebaseApp
}