"use client";

import { useParams } from "next/navigation";
import { SimpleCrud, type CrudColumn, type CrudField } from "@/components/admin/simple-crud";

const KEPUASAN_FIELDS: CrudField[] = [
  { name: "nama", label: "Nama", required: true },
  {
    name: "kepuasan",
    label: "Kepuasan",
    type: "select",
    options: [
      { value: "Sangat Puas", label: "Sangat Puas" },
      { value: "Puas", label: "Puas" },
      { value: "Cukup", label: "Cukup" },
      { value: "Kurang", label: "Kurang" },
    ],
    defaultValue: "Puas",
  },
  { name: "komentar", label: "Komentar", type: "textarea" },
];

const KEPUASAN_COLUMNS: CrudColumn[] = [
  { name: "nama", label: "Nama" },
  { name: "kepuasan", label: "Kepuasan" },
  { name: "komentar", label: "Komentar" },
  { name: "waktu", label: "Waktu", hideOnMobile: true },
];

const PERTANYAAN_FIELDS: CrudField[] = [
  { name: "pertanyaan", label: "Pertanyaan", type: "textarea", required: true },
  { name: "jawaban", label: "Jawaban", type: "textarea" },
];

const PERTANYAAN_COLUMNS: CrudColumn[] = [
  { name: "pertanyaan", label: "Pertanyaan" },
  { name: "jawaban", label: "Jawaban" },
  { name: "waktu", label: "Waktu", hideOnMobile: true },
];

const KEPERLUAN_FIELDS: CrudField[] = [
  { name: "keperluan", label: "Keperluan", required: true, full: true },
  { name: "aktif", label: "Aktif", type: "checkbox" },
];

const KEPERLUAN_COLUMNS: CrudColumn[] = [
  { name: "keperluan", label: "Keperluan" },
  { name: "aktif", label: "Aktif" },
];

export default function BukuTamuExtraPage() {
  const params = useParams<{ slug: string }>();
  if (params.slug === "kepuasan") {
    return (
      <SimpleCrud
        title="Data Kepuasan"
        description="Hasil survei kepuasan pelayanan tamu desa."
        entity="kepuasan-tamu"
        fields={KEPUASAN_FIELDS}
        columns={KEPUASAN_COLUMNS}
        searchPlaceholder="Cari nama atau komentar…"
        createLabel="Tambah Data"
      />
    );
  }
  if (params.slug === "pertanyaan") {
    return (
      <SimpleCrud
        title="Data Pertanyaan"
        description="Pertanyaan tamu dan jawaban petugas."
        entity="pertanyaan-tamu"
        fields={PERTANYAAN_FIELDS}
        columns={PERTANYAAN_COLUMNS}
        searchPlaceholder="Cari pertanyaan…"
        createLabel="Tambah Pertanyaan"
      />
    );
  }
  return (
    <SimpleCrud
      title="Data Keperluan"
      description="Daftar keperluan kunjungan yang tersedia pada buku tamu."
      entity="keperluan-tamu"
      fields={KEPERLUAN_FIELDS}
      columns={KEPERLUAN_COLUMNS}
      searchPlaceholder="Cari keperluan…"
      createLabel="Tambah Keperluan"
    />
  );
}
