Files
music-metadata-system/frontend/src/utils/task.ts

21 lines
691 B
TypeScript

import type { TaskStatus, TaskSummary } from '../types/task'
export function getTaskProgressPercent(task: Pick<TaskSummary, 'processedFiles' | 'totalFiles'>): number {
if (task.totalFiles <= 0) {
return 0
}
return Math.round((task.processedFiles / task.totalFiles) * 100)
}
export function isTaskFinished(status: TaskStatus): boolean {
return ['SUCCESS', 'FAILED', 'TERMINATED'].includes(status)
}
export function mapTaskStatusTone(status: TaskStatus): 'success' | 'warning' | 'danger' | 'info' {
if (status === 'SUCCESS') return 'success'
if (status === 'FAILED' || status === 'TERMINATED') return 'danger'
if (status === 'RUNNING') return 'warning'
return 'info'
}