"use client";

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

const FIELDS: CrudField[] = [
  { name: "nama", label: "Nama Lengkap", required: true },
  { name: "username", label: "Username", required: true },
  {
    name: "password",
    label: "Password",
    type: "password" as "text",
    required: true,
    createOnly: true,
    help: "Minimal 6 karakter. Password hanya diisi saat membuat akun.",
  },
  { name: "staf", label: "Staf", placeholder: "Jabatan atau perangkat desa" },
  {
    name: "role",
    label: "Group",
    type: "select",
    options: [
      { value: "ADMIN", label: "Administrator" },
      { value: "OPERATOR", label: "Operator" },
      { value: "EDITOR", label: "Editor" },
    ],
    defaultValue: "OPERATOR",
  },
  { name: "aktif", label: "Aktif", type: "checkbox" },
];

const COLUMNS: CrudColumn[] = [
  { name: "username", label: "Username" },
  { name: "nama", label: "Nama" },
  { name: "staf", label: "Staf", hideOnMobile: true },
  { name: "role", label: "Group" },
  { name: "lastLogin", label: "Login Terakhir", hideOnMobile: true },
  { name: "verifikasiPada", label: "Tanggal Verifikasi", hideOnMobile: true },
  { name: "aktif", label: "Aktif" },
];

export default function PenggunaPage() {
  return (
    <SimpleCrud
      title="Pengguna"
      description="Akun yang dapat mengakses panel admin Core Mulyadadi."
      endpoint="/pengguna"
      fields={FIELDS}
      columns={COLUMNS}
      searchPlaceholder="Cari nama atau username…"
      createLabel="Tambah"
      showNo
      actionOnLeft
    />
  );
}
