/* iBD Coliseum — OAuth login page */

function GoogleIcon() {
  return (
    <svg className="oauth-icon" viewBox="0 0 24 24" aria-hidden="true">
      <path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" />
      <path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" />
      <path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z" />
      <path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" />
    </svg>
  );
}

function LoginPage({ onSignInGoogleRedirect, error, busy, notConfigured }) {
  return (
    <div className="login-page">
      <div className="login-shell">
        <aside className="login-hero">
          <div className="login-brand">
            <img className="login-logo" src="lib/spigen-logo.png" alt="Spigen" />
            <span className="login-sep" />
            <span className="login-product"><span className="login-glyph">▲</span>Coliseum</span>
          </div>
          <h1 className="login-hero-title">Showcase your AI skills</h1>
          <p className="login-hero-copy">
            Internal showcase for iBD — browse peer use-cases, upvote what helped, and post in about five minutes.
            No public ranking pressure in the gallery.
          </p>
          <ul className="login-bullets">
            <li>Sign in with your @spigen.com Google account</li>
            <li>Internal only · submissions stay inside the org</li>
          </ul>
        </aside>

        <main className="login-panel">
          <div className="auth-card login-card">
            <div className="eyebrow">Sign in</div>
            <h2>Continue to Coliseum</h2>
            <p>Spigen employees only — use your <strong>@spigen.com</strong> Google account.</p>

            {notConfigured && (
              <div className="auth-error">
                Supabase is not configured yet. Add your project URL and anon key in <code>web/config.js</code>.
              </div>
            )}

            {error && <div className="auth-error" role="alert">{error}</div>}

            <div className="oauth-google-wrap">
              {!notConfigured && (
                <button
                  type="button"
                  className="btn oauth-btn oauth-google"
                  onClick={onSignInGoogleRedirect}
                  disabled={busy}
                >
                  <GoogleIcon />
                  <span>{busy ? "Signing in…" : "Continue with Google"}</span>
                </button>
              )}
            </div>
          </div>

          <p className="login-foot">Spigen iBD Coliseum · OAuth via Supabase · employees only</p>
        </main>
      </div>
    </div>
  );
}

window.LoginPage = LoginPage;
window.AuthGate = LoginPage;
