import { signIn, auth } from "@/auth";
import { redirect } from "next/navigation";
import { Logo } from "@/components/Logo";

export default async function LoginPage({ searchParams }: { searchParams: Promise<{ callbackUrl?: string; error?: string }> }) {
  const session = await auth();
  const { callbackUrl, error } = await searchParams;
  if (session?.user) redirect(callbackUrl || "/");
  const domain = process.env.ALLOWED_GOOGLE_DOMAIN ?? "connellypartners.com";

  return (
    <main className="grain min-h-dvh bg-ink text-white flex flex-col">
      <div className="p-6"><Logo light /></div>
      <div className="flex-1 grid place-items-center px-6">
        <div className="max-w-xl text-center">
          <h1 className="display">
            We move <span className="serif-i">souls.</span>
            <br />
            <span className="mark">Starting with yours.</span>
          </h1>
          <p className="mt-6 text-white/70">Sign in with your @{domain} Google account.</p>
          <form
            className="mt-8"
            action={async () => {
              "use server";
              await signIn("google", { redirectTo: callbackUrl || "/" });
            }}
          >
            <button className="btn btn-soul text-base px-7 py-3">
              <svg width="18" height="18" viewBox="0 0 48 48" aria-hidden><path fill="#fff" d="M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z"/></svg>
              Continue with Google
            </button>
          </form>
          {error && (
            <p className="mt-6 rounded-xl border border-soul/40 bg-soul/10 px-4 py-3 text-sm text-white/90">
              {error === "AccessDenied" ? `That account isn't on the ${domain} Workspace. Use your staff Google account.` : `Sign-in failed (${error}). Try again.`}
            </p>
          )}
        </div>
      </div>
      <p className="p-6 text-center text-xs text-white/40">Independent since 1999 · Dublin · Boston · Vancouver</p>
    </main>
  );
}
