import type { Metadata } from "next";
import { listAllConfessionsForAdmin } from "@/lib/confessions/queries";
import { toggleConfessionActive, deleteConfession } from "@/lib/admin/actions";
import { AdminConfessionCard } from "@/components/admin/AdminConfessionCard";

export const metadata: Metadata = {
  title: "İtiraflar",
};

export default async function AdminConfessionsPage() {
  const confessions = await listAllConfessionsForAdmin();

  return (
    <div className="p-8">
      <div className="mb-6 border-b border-border pb-6">
        <h1 className="text-[22px]">İtiraflar</h1>
        <p className="mt-0.5 text-[12.5px] text-text-muted">{confessions.length} itiraf (gerçek isimlerle)</p>
      </div>

      <div className="flex flex-col gap-3">
        {confessions.map((confession) => (
          <AdminConfessionCard
            key={confession.id}
            confessionId={confession.id}
            title={confession.title}
            body={confession.body}
            visibility={confession.visibility}
            authorLabel={confession.user.profile?.fullName ?? confession.user.email}
            isActive={confession.isActive}
            isBot={confession.source === "BOT"}
            toggleAction={toggleConfessionActive.bind(null, confession.id)}
            removeAction={deleteConfession.bind(null, confession.id)}
          />
        ))}
      </div>
    </div>
  );
}
