29 lines
1005 B
TypeScript
Executable File
29 lines
1005 B
TypeScript
Executable File
// lib/firebase.ts
|
|
|
|
import { initializeApp } from "firebase/app";
|
|
import { getAuth } from "firebase/auth";
|
|
import { initializeFirestore, persistentLocalCache, persistentMultipleTabManager } from "firebase/firestore";
|
|
|
|
// Firebase config object
|
|
const firebaseConfig = {
|
|
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
|
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
|
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
|
};
|
|
|
|
// Initialize Firebase app
|
|
const app = initializeApp(firebaseConfig);
|
|
|
|
// Initialize Firebase Auth
|
|
export const auth = getAuth(app);
|
|
|
|
// Initialize Firestore with offline persistence
|
|
export const db = initializeFirestore(app, {
|
|
localCache: persistentLocalCache({
|
|
tabManager: persistentMultipleTabManager(),
|
|
}),
|
|
});
|