feat(ticket): add global ticket assignment page

This commit is contained in:
2026-07-27 18:31:12 +05:30
parent 224361f144
commit 20f611f35a
13 changed files with 540 additions and 126 deletions

View File

@@ -0,0 +1,52 @@
'use client';
import { useMemo } from 'react';
import type { ColumnDef } from '@tanstack/react-table';
import type { DetectionResultItem } from '@/types';
function formatTimestamp(seconds: number) {
const minutes = Math.floor(seconds / 60);
const remainingSeconds = Math.floor(seconds % 60);
return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;
}
export function useIssueColumns(): ColumnDef<DetectionResultItem>[] {
return useMemo(
() => [
{
id: 'detection_id',
header: 'Detection ID',
size: 140,
cell: ({ row }) => `#${row.original.detection.id}`,
},
{
id: 'issue_type',
header: 'Issue Type',
size: 180,
cell: ({ row }) => row.original.detection.display_name,
},
{
id: 'confidence',
header: 'Confidence',
size: 130,
cell: ({ row }) =>
`${Math.round(row.original.detection.confidence * 100)}%`,
},
{
id: 'frame',
header: 'Frame',
size: 100,
cell: ({ row }) => row.original.frame.number,
},
{
id: 'timestamp',
header: 'Timestamp',
size: 130,
cell: ({ row }) =>
formatTimestamp(row.original.frame.timestamp_seconds),
},
],
[],
);
}