@using Indotalent.Infrastructure.Authentication.Identity
@using Microsoft.Extensions.Options
@inject IOptions<IdentitySettingsModel> IdentityOptions

@if (IdentityOptions.Value.SsoFirebase.IsUsed)
{
    <script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-app-compat.js"></script>
    <script src="https://www.gstatic.com/firebasejs/9.23.0/firebase-auth-compat.js"></script>
    <script>
        const firebaseConfig = {
        apiKey: "@IdentityOptions.Value.SsoFirebase.ApiKey",
        authDomain: "@IdentityOptions.Value.SsoFirebase.AuthDomain",
        projectId: "@IdentityOptions.Value.SsoFirebase.ProjectId",
        storageBucket: "@IdentityOptions.Value.SsoFirebase.StorageBucket",
        messagingSenderId: "@IdentityOptions.Value.SsoFirebase.MessagingSenderId",
        appId: "@IdentityOptions.Value.SsoFirebase.AppId"
        };
            
        if (typeof firebase !== 'undefined' && !firebase.apps.length) {
        firebase.initializeApp(firebaseConfig);
        }

        async function signInWithGoogle() {
        if (typeof firebase === 'undefined') return null;
        const provider = new firebase.auth.GoogleAuthProvider();
        try {
        const result = await firebase.auth().signInWithPopup(provider);
        return { email: result.user.email };
        } catch (error) {
        console.error("Firebase Auth Error:", error);
        return null;
        }
        }

        async function firebaseLogout() {
        if (typeof firebase !== 'undefined') {
        await firebase.auth().signOut();
        }
        }
    </script>
}