"use server";
import {
GoogleAuthProvider,
signInAnonymously,
signInWithPopup,
} from "firebase/auth";
import { auth } from "./client-firebase";
import { createUserSession } from "./session";
import { redirect } from "@solidjs/router";
const googleProvider = new GoogleAuthProvider();
export const signInWithGoogle = async () => {
try {
const userCredential = await signInWithPopup(auth, googleProvider);
console.log("Signed in with Google:", userCredential.user);
const token = await userCredential.user.getIdToken();
await createUserSession(token);
} catch (error) {
console.error("Error signing in with Google:", error);
throw error;
}
};
export const signInAsAGuest = async (event) => {
try {
const userCredential = await signInAnonymously(auth);
const token = await userCredential.user.getIdToken();
const user = await createUserSession(token);
if (user) throw redirect("/in");
} catch (error) {
console.error("Error signing in as guest:", error);
throw error;
}
};
"use server";
import {
GoogleAuthProvider,
signInAnonymously,
signInWithPopup,
} from "firebase/auth";
import { auth } from "./client-firebase";
import { createUserSession } from "./session";
import { redirect } from "@solidjs/router";
const googleProvider = new GoogleAuthProvider();
export const signInWithGoogle = async () => {
try {
const userCredential = await signInWithPopup(auth, googleProvider);
console.log("Signed in with Google:", userCredential.user);
const token = await userCredential.user.getIdToken();
await createUserSession(token);
} catch (error) {
console.error("Error signing in with Google:", error);
throw error;
}
};
export const signInAsAGuest = async (event) => {
try {
const userCredential = await signInAnonymously(auth);
const token = await userCredential.user.getIdToken();
const user = await createUserSession(token);
if (user) throw redirect("/in");
} catch (error) {
console.error("Error signing in as guest:", error);
throw error;
}
};