import Image from "next/image";
import { redirect } from "next/navigation";
import { db } from "@/db";
import { users } from "@/db/schema";
import { eq } from "drizzle-orm";
import { Database, KeyRound, Sparkles } from "lucide-react";
import { performSetup } from "@/lib/actions";
import { ActionForm, SubmitBtn } from "@/components/ui-client";

export const dynamic = "force-dynamic";
export const metadata = { title: "نصب سامانه" };

export default async function SetupPage() {
  let installed = false;
  try {
    const r = await db.select({ id: users.id }).from(users).where(eq(users.role, "admin")).limit(1);
    installed = r.length > 0;
  } catch { installed = false; }
  if (installed) redirect("/");

  return (
    <div className="pattern-hero arabesque flex min-h-screen items-center justify-center p-4">
      <div className="glass anim-pop w-full max-w-md rounded-3xl border border-white/30 p-8 shadow-2xl">
        <div className="flex flex-col items-center text-center">
          <Image src="/images/logo.png" alt="لوگو" width={90} height={90} className="rounded-full ring-4 ring-amber-400/60 shadow-xl" />
          <h1 className="mt-5 text-2xl font-black text-emerald-950">نصب سامانهٔ آموزشی</h1>
          <p className="mt-2 text-xs leading-6 text-emerald-800/70">
            مدرسهٔ شهید باهنر ملوران — برای شروع، فقط <b>رمز عبور مدیر</b> را تعیین کنید.
            دیتابیس و تمام اطلاعات اولیه (پایه‌ها، کتاب‌ها، درس‌ها، بانک سوالات، مسابقه‌ها، معماها و بازی‌ها) به‌صورت خودکار ساخته می‌شود.
          </p>
        </div>
        <ActionForm action={performSetup} className="mt-6 space-y-4">
          <label className="block">
            <span className="mb-1.5 flex items-center gap-1.5 text-xs font-extrabold text-emerald-900/80"><KeyRound size={14} /> رمز عبور مدیر</span>
            <input name="password" type="password" required minLength={6} placeholder="حداقل ۶ کاراکتر"
              className="w-full rounded-xl border border-emerald-900/15 bg-white px-4 py-3 text-sm outline-none focus:border-emerald-600 focus:ring-2 focus:ring-emerald-500/25" dir="ltr" />
          </label>
          <label className="block">
            <span className="mb-1.5 flex items-center gap-1.5 text-xs font-extrabold text-emerald-900/80"><KeyRound size={14} /> تکرار رمز عبور</span>
            <input name="password2" type="password" required minLength={6} placeholder="تکرار رمز"
              className="w-full rounded-xl border border-emerald-900/15 bg-white px-4 py-3 text-sm outline-none focus:border-emerald-600 focus:ring-2 focus:ring-emerald-500/25" dir="ltr" />
          </label>
          <SubmitBtn className="w-full py-3.5 text-base" pendingText="در حال ساخت دیتابیس... (کمی طول می‌کشد)">
            <Database size={17} /> ساخت دیتابیس و شروع
          </SubmitBtn>
        </ActionForm>
        <div className="mt-5 flex items-start gap-2 rounded-xl bg-amber-50 px-4 py-3 text-[11px] leading-5 text-amber-800">
          <Sparkles size={15} className="mt-0.5 shrink-0" />
          نام کاربری مدیر <b className="mx-1">admin</b> است. رمز اولیهٔ دبیران و دانش‌آموزان همان کد ملی آنان خواهد بود.
        </div>
      </div>
    </div>
  );
}
