Configure production env and Firebase
This commit is contained in:
+18
-8
@@ -1,9 +1,19 @@
|
||||
# GEMINI_API_KEY: Required for Gemini AI API calls.
|
||||
# AI Studio automatically injects this at runtime from user secrets.
|
||||
# Users configure this via the Secrets panel in the AI Studio UI.
|
||||
GEMINI_API_KEY="MY_GEMINI_API_KEY"
|
||||
# Core app runtime
|
||||
VITE_APP_URL="https://your-domain.com"
|
||||
VITE_GEMINI_API_KEY="MY_GEMINI_API_KEY"
|
||||
|
||||
# APP_URL: The URL where this applet is hosted.
|
||||
# AI Studio automatically injects this at runtime with the Cloud Run service URL.
|
||||
# Used for self-referential links, OAuth callbacks, and API endpoints.
|
||||
APP_URL="MY_APP_URL"
|
||||
# Firebase web config
|
||||
VITE_FIREBASE_API_KEY="YOUR_FIREBASE_API_KEY"
|
||||
VITE_FIREBASE_AUTH_DOMAIN="YOUR_PROJECT.firebaseapp.com"
|
||||
VITE_FIREBASE_PROJECT_ID="YOUR_PROJECT_ID"
|
||||
VITE_FIREBASE_STORAGE_BUCKET="YOUR_PROJECT.firebasestorage.app"
|
||||
VITE_FIREBASE_MESSAGING_SENDER_ID="YOUR_MESSAGING_SENDER_ID"
|
||||
VITE_FIREBASE_APP_ID="YOUR_FIREBASE_APP_ID"
|
||||
VITE_FIREBASE_MEASUREMENT_ID="YOUR_MEASUREMENT_ID"
|
||||
VITE_FIREBASE_DATABASE_ID="YOUR_FIRESTORE_DATABASE_ID"
|
||||
VITE_FIREBASE_OAUTH_CLIENT_ID="YOUR_OAUTH_CLIENT_ID"
|
||||
VITE_FIREBASE_RECAPTCHA_SITE_KEY="YOUR_RECAPTCHA_SITE_KEY"
|
||||
|
||||
# Optional legacy values that may still be referenced by other tooling
|
||||
GEMINI_API_KEY="MY_GEMINI_API_KEY"
|
||||
APP_URL="https://your-domain.com"
|
||||
|
||||
+17
-1
@@ -14,7 +14,23 @@ import {
|
||||
limit,
|
||||
getDocs
|
||||
} from 'firebase/firestore';
|
||||
import firebaseConfig from '../../firebase-applet-config.json';
|
||||
import firebaseConfigFile from '../../firebase-applet-config.json';
|
||||
|
||||
const firebaseConfig = {
|
||||
apiKey: import.meta.env.VITE_FIREBASE_API_KEY || firebaseConfigFile.apiKey,
|
||||
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN || firebaseConfigFile.authDomain,
|
||||
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID || firebaseConfigFile.projectId,
|
||||
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET || firebaseConfigFile.storageBucket,
|
||||
messagingSenderId:
|
||||
import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID || firebaseConfigFile.messagingSenderId,
|
||||
appId: import.meta.env.VITE_FIREBASE_APP_ID || firebaseConfigFile.appId,
|
||||
measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID || firebaseConfigFile.measurementId,
|
||||
firestoreDatabaseId:
|
||||
import.meta.env.VITE_FIREBASE_DATABASE_ID || firebaseConfigFile.firestoreDatabaseId,
|
||||
oAuthClientId: import.meta.env.VITE_FIREBASE_OAUTH_CLIENT_ID || firebaseConfigFile.oAuthClientId,
|
||||
recaptchaSiteKey:
|
||||
import.meta.env.VITE_FIREBASE_RECAPTCHA_SITE_KEY || firebaseConfigFile.recaptchaSiteKey
|
||||
};
|
||||
|
||||
// Initialize Firebase App
|
||||
const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();
|
||||
|
||||
Reference in New Issue
Block a user