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
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
|
|
}
|