import CategoryTable from "@/components/categories/CategoryTable";
import { prisma } from "@/lib/prisma";
import { PlusCircleIcon } from "lucide-react";
import Link from "next/link";

export default async function CategoriesPage() {
  const items = await prisma.artCategory.findMany({
    include: {
      _count: { select: { artworks: true, tags: true } },
    },
    orderBy: [{ sortIndex: "asc" }, { name: "asc" }],
  });

  return (
    <div>
      <div className="flex gap-4 justify-between pb-8">
        <h1 className="text-2xl font-bold mb-4">Art Categories</h1>
        <Link href="/categories/new" className="flex gap-2 items-center cursor-pointer bg-primary hover:bg-primary/90 text-primary-foreground px-4 py-2 rounded">
          <PlusCircleIcon className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all text-primary-foreground" /> Add new category
        </Link>
      </div>
      {items.length > 0 ? (
        <CategoryTable categories={items} />
      ) : (
        <p>There are no categories yet. Consider adding some!</p>
      )}
    </div>
  );
}