import { Badge } from "@/components/ui/badge";
import { Shield, ClipboardList, DollarSign, CalendarIcon } from "lucide-react";

export const columns: ColumnDefinition[] = [
  {
    key: "id",
    title: "ID",
    type: "text",
    icon: Shield,
    sortable: true,
    searchable: true,
    filterable: true,
    description: "Unique UTXO identifier",
    priority: 3,
    expandedOnly: true,
  },
  {
    key: "wallet",
    idKey: "walletId",
    sortKey: "walletId",
    title: "Wallet ID",
    type: "text",
    icon: ClipboardList,
    sortable: true,
    searchable: true,
    filterable: true,
    description: "Associated wallet",
    priority: 2,
    render: {
      type: "custom",
      render: (value) => value?.currency,
    },
  },
  {
    key: "index",
    title: "Index",
    type: "number",
    icon: ClipboardList,
    sortable: true,
    searchable: false,
    filterable: true,
    description: "UTXO index",
    priority: 1,
  },
  {
    key: "amount",
    title: "Amount",
    type: "number",
    icon: DollarSign,
    sortable: true,
    searchable: false,
    filterable: true,
    description: "UTXO amount",
    priority: 1,
    render: {
      type: "custom",
      render: (value) => typeof value === 'number' ? value.toFixed(8) : value,
    },
  },
  {
    key: "script",
    title: "Script",
    type: "text",
    icon: ClipboardList,
    sortable: false,
    searchable: true,
    filterable: false,
    description: "UTXO script",
    priority: 2,
    expandedOnly: true,
  },
  {
    key: "status",
    title: "Status",
    type: "boolean",
    icon: ClipboardList,
    sortable: true,
    searchable: true,
    filterable: true,
    description: "UTXO status",
    priority: 1,
  },
  {
    key: "createdAt",
    title: "Created At",
    type: "date",
    icon: CalendarIcon,
    sortable: true,
    searchable: true,
    filterable: true,
    description: "Creation date",
    render: { type: "date", format: "PPP" },
    priority: 2,
    expandedOnly: true,
  },
];
