import { redirect } from "next/navigation";
import { AdminNav } from "@/components/AdminNav";
import { requireAdmin } from "@/lib/auth";
import { prisma } from "@/lib/db";
import { savePage } from "../actions";

export const dynamic = "force-dynamic";

export default async function AdminPagesPage() {
  if (!(await requireAdmin())) redirect("/admin/login");
  const pages = await prisma.pageContent.findMany({ orderBy: { slug: "asc" } });

  return (
    <div className="mx-auto max-w-5xl px-4 py-8">
      <AdminNav />
      <h1 className="font-display text-3xl">Tekstovi stranica</h1>
      <div className="mt-8 space-y-8">
        {pages.map((p) => (
          <form key={p.id} action={savePage} className="space-y-3 border border-white/10 p-4">
            <input type="hidden" name="id" value={p.id} />
            <p className="text-sm text-neutral-400">slug: {p.slug}</p>
            <input name="title" defaultValue={p.title} className="w-full border border-white/20 bg-black px-3 py-2" />
            <input name="headline" defaultValue={p.headline || ""} className="w-full border border-white/20 bg-black px-3 py-2" />
            <textarea name="body" defaultValue={p.body} rows={10} className="w-full border border-white/20 bg-black px-3 py-2 font-mono text-sm" />
            <label className="flex items-center gap-2 text-sm">
              <input type="checkbox" name="published" defaultChecked={p.published} /> Objavljeno
            </label>
            <button type="submit" className="bg-red-600 px-4 py-2 text-sm font-bold uppercase">
              Spremi
            </button>
          </form>
        ))}
      </div>
    </div>
  );
}
