// Auteur : Simon-Pierre Boucher — contact@spboucher.ai
import type { Metadata } from "next";
import { redirect } from "next/navigation";
import { getSessionUser, safeNext } from "@/lib/auth";
import { SSO_CLIENTS } from "@/lib/sso";
import AuthForm from "./AuthForm";

export const metadata: Metadata = {
  title: "KA ID — connexion | Groupe KA",
  description:
    "Un seul compte pour toutes les plateformes du Groupe KA : créez votre KA ID ou continuez avec Google.",
};

export default async function Connexion({
  searchParams,
}: {
  searchParams: Promise<{ next?: string; error?: string; via?: string }>;
}) {
  const sp = await searchParams;
  const next = safeNext(sp.next);

  // Déjà connecté (et pas de retour SSO en attente) → profil.
  if (!sp.error) {
    const user = await getSessionUser();
    if (user) redirect(next);
  }

  const viaLabel = sp.via ? (SSO_CLIENTS[sp.via]?.label ?? sp.via) : undefined;

  return (
    <main className="mx-auto max-w-md px-4 pb-16 sm:px-6">
      <section className="pt-12 text-center sm:pt-14">
        <p className="kicker rise justify-center">
          KA ID · un compte, sept plateformes
        </p>
        <h1 className="gk-display rise mt-4 text-[clamp(30px,5vw,44px)] leading-[1] font-bold tracking-[-0.035em] uppercase [animation-delay:0.08s]">
          Un seul <span className="hl">·Ka</span> pour tout
        </h1>
        <p className="rise mt-4 text-[14px] text-ink-2 [animation-delay:0.16s]">
          Votre KA ID vous suit sur Lou·Ka, Immo·Ka, Vrai-Prix, ValoPlex,
          Auto·Ka, Fabri·Ka et Food·Ka. Même profil partout — c&apos;est
          l&apos;agrégation, appliquée à vous-même.
        </p>
      </section>
      <div className="rise mt-8 [animation-delay:0.22s]">
        <AuthForm next={next} error={sp.error} via={viaLabel} />
      </div>
    </main>
  );
}
