diff --git a/frontend/src/pages/DataAnnotation/Create/CreateTask.tsx b/frontend/src/pages/DataAnnotation/Create/CreateTask.tsx index 81b5348..157e7eb 100644 --- a/frontend/src/pages/DataAnnotation/Create/CreateTask.tsx +++ b/frontend/src/pages/DataAnnotation/Create/CreateTask.tsx @@ -34,8 +34,20 @@ const resolveTemplateDataType = (datasetType?: DatasetType) => { return undefined; } }; +const resolveTemplateTimestamp = (template: AnnotationTemplate) => { + const timestamp = template.updatedAt || template.createdAt; + const parsed = Date.parse(timestamp); + return Number.isNaN(parsed) ? 0 : parsed; +}; const resolveDefaultTemplate = (items: AnnotationTemplate[]) => - items.find((template) => template.builtIn) || items[0]; + items.reduce((latest, current) => { + if (!latest) { + return current; + } + return resolveTemplateTimestamp(current) > resolveTemplateTimestamp(latest) + ? current + : latest; + }, undefined); export default function AnnotationTaskCreate() { const navigate = useNavigate(); diff --git a/frontend/src/pages/DataAnnotation/Create/components/CreateAnnotationTaskDialog.tsx b/frontend/src/pages/DataAnnotation/Create/components/CreateAnnotationTaskDialog.tsx index d993971..032e596 100644 --- a/frontend/src/pages/DataAnnotation/Create/components/CreateAnnotationTaskDialog.tsx +++ b/frontend/src/pages/DataAnnotation/Create/components/CreateAnnotationTaskDialog.tsx @@ -71,8 +71,20 @@ const resolveTemplateDataType = (datasetType?: DatasetType) => { return undefined; } }; +const resolveTemplateTimestamp = (template: AnnotationTemplate) => { + const timestamp = template.updatedAt || template.createdAt; + const parsed = Date.parse(timestamp); + return Number.isNaN(parsed) ? 0 : parsed; +}; const resolveDefaultTemplate = (items: AnnotationTemplate[]) => - items.find((template) => template.builtIn) || items[0]; + items.reduce((latest, current) => { + if (!latest) { + return current; + } + return resolveTemplateTimestamp(current) > resolveTemplateTimestamp(latest) + ? current + : latest; + }, undefined); export default function CreateAnnotationTask({ open,