/** صفحه ورود پنل مدیریت (شماره موبایل + رمز) */
import { redirect } from "next/navigation";
import { LogoWordmark } from "@/components/brand/Logo";
import { AdminLoginForm } from "@/components/admin/AdminLoginForm";
import { getCurrentUser } from "@/server/auth/session";
import { isStaffRole } from "@/server/admin/guard";

export const metadata = { title: "ورود به پنل" };
export const dynamic = "force-dynamic";

export default async function AdminLoginPage({ searchParams }: { searchParams: Promise<{ next?: string }> }) {
  const raw = (await searchParams).next ?? "";
  // فقط مسیرهای داخل پنل به‌عنوان مقصد بازگشت (جلوگیری از open redirect)
  const next = /^\/admin(\/|$)/.test(raw) && !raw.startsWith("//") ? raw : "/admin";
  const user = await getCurrentUser();
  if (user?.adminAuth && isStaffRole(user.role)) redirect(next);
  return (
    <main className="grid min-h-dvh place-items-center bg-mist p-4">
      <div className="w-full max-w-sm rounded-3xl bg-paper p-8">
        <div className="mb-8 text-center">
          <LogoWordmark className="mx-auto h-4 w-auto" />
          <h1 className="mt-4 text-lg font-bold">ورود به پنل مدیریت</h1>
          <p className="mt-1 text-xs text-muted">با شماره موبایل و رمزی که مدیر عامل برایتان تعریف کرده وارد شوید</p>
        </div>
        <AdminLoginForm next={next} />
        <p className="mt-6 text-center text-[11px] leading-5 text-muted">رمز را فراموش کرده‌اید؟ از مدیر عامل بخواهید از بخش «تیم و دسترسی‌ها» رمز جدید تعریف کند.</p>
      </div>
    </main>
  );
}
