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.
|
# Core app runtime
|
||||||
# AI Studio automatically injects this at runtime from user secrets.
|
VITE_APP_URL="https://your-domain.com"
|
||||||
# Users configure this via the Secrets panel in the AI Studio UI.
|
VITE_GEMINI_API_KEY="MY_GEMINI_API_KEY"
|
||||||
GEMINI_API_KEY="MY_GEMINI_API_KEY"
|
|
||||||
|
|
||||||
# APP_URL: The URL where this applet is hosted.
|
# Firebase web config
|
||||||
# AI Studio automatically injects this at runtime with the Cloud Run service URL.
|
VITE_FIREBASE_API_KEY="YOUR_FIREBASE_API_KEY"
|
||||||
# Used for self-referential links, OAuth callbacks, and API endpoints.
|
VITE_FIREBASE_AUTH_DOMAIN="YOUR_PROJECT.firebaseapp.com"
|
||||||
APP_URL="MY_APP_URL"
|
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,
|
limit,
|
||||||
getDocs
|
getDocs
|
||||||
} from 'firebase/firestore';
|
} 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
|
// Initialize Firebase App
|
||||||
const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();
|
const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();
|
||||||
|
|||||||
Reference in New Issue
Block a user