import type { ColumnDef } from '@tanstack/vue-table'; import { h } from 'vue'; import DataTableActions from '@/components/admin/finance/expenses/data-table-actions.vue'; import { DataTableColumnHeader } from '@/components/data-table'; import type { ExpenseListItem } from '@/types/expense'; export function createColumns(onEdit: (expense: ExpenseListItem) => void): ColumnDef[] { return [ { accessorKey: 'created_at_formatted', enableSorting: true, header: () => h(DataTableColumnHeader, { title: 'Tanggal', column: 'created_at' }), }, { accessorKey: 'amount_formatted', enableSorting: true, header: () => h(DataTableColumnHeader, { title: 'Jumlah', column: 'amount' }), }, { accessorKey: 'description', enableSorting: true, header: () => h(DataTableColumnHeader, { title: 'Keterangan', column: 'description' }), }, { accessorKey: 'created_by_name', enableSorting: false, header: () => 'Oleh', }, { id: 'actions', enableSorting: false, enableHiding: false, cell: ({ row }) => h(DataTableActions, { expense: row.original, onEdit: () => onEdit(row.original), }), }, ]; }