import { redirect } from "next/navigation";
import { publicLoginAction } from "@/lib/actions";
import { getSession } from "@/lib/auth";
import { PublicLoginForm } from "@/components/site/PublicLoginForm";

type LoginPageProps = {
  searchParams: Promise<{ error?: string; success?: string }>;
};

export default async function PublicLoginPage({ searchParams }: LoginPageProps) {
  const [session, params] = await Promise.all([getSession(), searchParams]);

  if (session) {
    redirect(session.role === "USER" ? "/dashboard" : "/admin");
  }

  return (
    <main className="container" style={{ padding: "4rem 1.25rem" }}>
      <PublicLoginForm action={publicLoginAction} error={params.error} success={params.success} />
    </main>
  );
}
