import EntityPage from "../EntityPage";
import { Badge } from "../../components/ui";

const typeLabel: Record<string, string> = {
    libur: "Libur",
    pengecualian: "Pengecualian (tetap kerja)",
};
const typeTone: Record<string, string> = {
    libur: "red",
    pengecualian: "orange",
};

export default ({ rows }: { rows: any[] }) => (
    <EntityPage
        title="Holiday"
        description="Kalender hari libur nasional/cuti bersama dan hari pengecualian (tetap masuk kerja)."
        resource="settings/holidays"
        rows={rows}
        backHref="/settings"
        backLabel="Kembali ke Settings"
        fields={[
            { name: "date", label: "Tanggal", type: "date" },
            { name: "name", label: "Nama / Keterangan" },
            {
                name: "type",
                label: "Jenis",
                options: [
                    { value: "libur", label: "Libur" },
                    {
                        value: "pengecualian",
                        label: "Pengecualian (tetap kerja)",
                    },
                ],
            },
        ]}
        columns={[
            {
                key: "date",
                label: "Tanggal",
                render: (r) =>
                    new Date(r.date).toLocaleDateString("id-ID", {
                        weekday: "short",
                        day: "2-digit",
                        month: "long",
                        year: "numeric",
                    }),
            },
            { key: "name", label: "Nama / Keterangan" },
            {
                key: "type",
                label: "Jenis",
                render: (r) => (
                    <Badge tone={typeTone[r.type] ?? "slate"}>
                        {typeLabel[r.type] ?? r.type}
                    </Badge>
                ),
            },
        ]}
    />
);
