// src/components/content/content-table.tsx — table view of content items.
"use client";

import type { OnChangeFn, PaginationState } from "@tanstack/react-table";
import { DataTable } from "@/components/ui/data-table";
import type { ContentItem } from "@/lib/content/types";
import { contentColumns } from "./content-columns";

export function ContentTable({
  items,
  onOpen,
  pagination,
  onPaginationChange,
}: {
  items: ContentItem[];
  onOpen: (item: ContentItem) => void;
  /** Controlled pagination — the meta row above the table owns the controls. */
  pagination: PaginationState;
  onPaginationChange: OnChangeFn<PaginationState>;
}) {
  return (
    <DataTable
      columns={contentColumns}
      data={items}
      getRowId={(r) => r.id}
      onRowClick={onOpen}
      caption="Planning du contenu — articles du site actif"
      pageSize={50}
      pagination={pagination}
      onPaginationChange={onPaginationChange}
      hidePagination
      containerClassName="rounded-none border-0 border-t"
    />
  );
}
