primer prueba de concepto para firebase

This commit is contained in:
2026-01-16 01:59:28 -03:00
parent 6d08a0985b
commit d89e2960d7
5 changed files with 235 additions and 6 deletions

View File

@@ -0,0 +1,17 @@
<script>
import { getFirebaseAuth } from '$lib/stores/firebase.ts';
import { GoogleAuthProvider, signInWithPopup } from 'firebase/auth';
import Button from './ui/button/button.svelte';
const handleGoogleSignIn = async () => {
const auth = getFirebaseAuth();
const provider = new GoogleAuthProvider();
try {
await signInWithPopup(auth, provider);
} catch (error) {
console.error('Error signing in with Google:', error);
}
};
</script>
<Button onclick={handleGoogleSignIn}>Sign in with Google</Button>

View File

@@ -0,0 +1,37 @@
import { initializeApp, type FirebaseApp } from 'firebase/app';
import { getAuth, type Auth } from 'firebase/auth';
import {
PUBLIC_f_apiKey,
PUBLIC_f_appId,
PUBLIC_f_authDomain,
PUBLIC_f_messagingSenderId,
PUBLIC_f_projectId,
PUBLIC_f_storageBucket
} from '$env/static/public';
let app: FirebaseApp | null = null;
let auth: Auth | null = null;
const firebaseConfig = {
apiKey: PUBLIC_f_apiKey,
authDomain: PUBLIC_f_authDomain,
projectId: PUBLIC_f_projectId,
storageBucket: PUBLIC_f_storageBucket,
messagingSenderId: PUBLIC_f_messagingSenderId,
appId: PUBLIC_f_appId
};
export function getFirebaseApp(): FirebaseApp {
if (!app) {
app = initializeApp(firebaseConfig);
}
return app;
}
export function getFirebaseAuth(): Auth {
if (!auth) {
auth = getAuth(getFirebaseApp());
}
return auth;
}