24 lines
1.3 KiB
TypeScript
24 lines
1.3 KiB
TypeScript
import { initializeApp, getApps } from "firebase/app";
|
|
import { getAuth } from "firebase/auth";
|
|
import { getDatabase } from "firebase/database";
|
|
|
|
// As variáveis de ambiente devem ser configuradas no Vercel e no ficheiro .env.local
|
|
const firebaseConfig = {
|
|
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY || "AIzaSyCPz7Pd3tJj3QkF7fV_vudCJythNsyR57k",
|
|
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN || "namesa-429c1.firebaseapp.com",
|
|
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID || "namesa-429c1",
|
|
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET || "namesa-429c1.firebasestorage.app",
|
|
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID || "476421715902",
|
|
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID || "1:476421715902:web:placeholder", // placeholder needed for web client SDK
|
|
// Nota importante: Como verificado na codebase Android,
|
|
// O ReservaMesa usa Realtime Database e não Firestore.
|
|
databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL || "https://namesa-429c1-default-rtdb.firebaseio.com"
|
|
};
|
|
|
|
// Initialize Firebase only if there are no apps initialized yet
|
|
const app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0];
|
|
|
|
export const auth = getAuth(app);
|
|
export const db = getDatabase(app);
|
|
export default app;
|