-
Notifications
You must be signed in to change notification settings - Fork 0
/
firebase.js
29 lines (24 loc) · 1.02 KB
/
firebase.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// firebase.js
import { initializeApp, getApps, getApp } from "firebase/app";
import { initializeAuth, getAuth } from "firebase/auth";
import AsyncStorage from '@react-native-async-storage/async-storage';
import { getFirestore } from 'firebase/firestore';
import { getReactNativePersistence } from 'firebase/auth';
const firebaseConfig = {
apiKey: "AIzaSyBVnnfrusgUC309qB6v69FmskpivAnj8Sk",
authDomain: "campusconnects-auth.firebaseapp.com",
projectId: "campusconnects-auth",
storageBucket: "campusconnects-auth.appspot.com",
messagingSenderId: "390104808299",
appId: "1:390104808299:web:016aad6a18e163f7aeaa2e",
measurementId: "G-23QWW1CFK3"
};
// Initialize Firebase only if it hasn't been initialized yet
const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();
// Initialize Auth only once
const auth = !getAuth().app ? initializeAuth(app, {
persistence: getReactNativePersistence(AsyncStorage)
}) : getAuth();
// Initialize Firestore only once
const db = getFirestore(app);
export { app, auth, db };