import { redirect } from "next/navigation";
import Image from "next/image";
import { getSession } from "@/lib/auth";
import { APP_LOGO, APP_TAGLINE } from "@/lib/brand";
import LoginForm from "./LoginForm";

export default async function LoginPage({
  searchParams,
}: {
  searchParams: Promise<{ suspended?: string }>;
}) {
  const session = await getSession();
  if (session) {
    redirect(session.role === "SUPERADMIN" ? "/admin" : "/agency");
  }
  const { suspended } = await searchParams;

  return (
    <main className="flex min-h-screen items-center justify-center bg-white p-4">
      <div className="w-full max-w-sm">
        <div className="mb-4 text-center">
          <Image
            src={APP_LOGO}
            alt="Id Viajero"
            width={180}
            height={78}
            className="mx-auto h-auto w-full max-w-[180px]"
            priority
          />
          <p className="mt-2 text-sm text-slate-500">{APP_TAGLINE}</p>
        </div>

        <div className="card p-5">
          <h2 className="mb-1 text-lg font-semibold">Iniciar sesión</h2>
          <p className="mb-4 text-sm text-slate-500">
            Accede con tu cuenta de administrador o agencia.
          </p>
          {suspended ? (
            <p className="mb-4 rounded-lg bg-amber-50 px-3 py-2 text-sm text-amber-800">
              Tu sesión se cerró porque la licencia de tu agencia está suspendida.
            </p>
          ) : null}
          <LoginForm />
        </div>

        <div className="mt-3 rounded-xl bg-slate-50 p-3 text-center text-xs text-slate-500">
          Demo — Admin: <b>admin@viajes.app / admin123</b>
          <br />
          Agencia: <b>agencia@viajes.app / agencia123</b>
        </div>
      </div>
    </main>
  );
}
