{
const config = QUOTA_TYPE_CONFIG[qt]
return (
)
})}
/>
)
},
size: 150,
enableSorting: false,
},
// Sync Official column
{
accessorKey: 'sync_official',
header: t('Official Sync'),
meta: { mobileHidden: true },
cell: ({ row }) => {
const syncOfficial = row.getValue('sync_official') as number
return (
)
},
filterFn: (row, id, value) => {
if (!value || value.length === 0 || value.includes('all')) return true
const syncOfficial = row.getValue(id) as number
if (value.includes('yes')) return syncOfficial === 1
if (value.includes('no')) return syncOfficial !== 1
return false
},
size: 120,
enableSorting: false,
},
// Created Time column
{
accessorKey: 'created_time',
header: t('Created'),
meta: { mobileHidden: true },
cell: ({ row }) => {
const timestamp = row.getValue('created_time') as number
return (
{formatTimestampToDate(timestamp)}
)
},
size: 180,
},
// Updated Time column
{
accessorKey: 'updated_time',
header: t('Updated'),
meta: { mobileHidden: true },
cell: ({ row }) => {
const timestamp = row.getValue('updated_time') as number
return (
{formatTimestampToDate(timestamp)}
)
},
size: 180,
},
// Actions column
{
id: 'actions',
header: () => t('Actions'),
cell: ({ row }) => {
return
},
enableSorting: false,
enableHiding: false,
meta: { pinned: 'right' as const },
},
]
}