"use client";

import { signIn } from "next-auth/react";
import { useRouter, useSearchParams } from "next/navigation";
import { LoginCard, type LoginFormValues } from "@/components/ui/LoginCard";

export default function PublicLoginPage() {
  const router = useRouter();
  const searchParams = useSearchParams();
  const justRegistered = searchParams.get("registered") === "true";

  const handleLogin = async (values: LoginFormValues): Promise<string | null> => {
    const result = await signIn("credentials", {
      identifier: values.identifier,
      password: values.password,
      redirect: false,
    });

    if (result?.error) {
      return "Email atau password salah.";
    }

    router.push("/member");
    router.refresh();
    return null;
  };

  return (
    <LoginCard
      identifierType="email"
      redirectTo="/member"
      showRegisterLink={true}
      successMessage={justRegistered ? "Pendaftaran berhasil! Silakan masuk." : null}
      onLogin={handleLogin}
    />
  );
}
