import { useEffect, useState } from "react"; import { Card, message } from "antd"; import { Button, Badge, Progress, Checkbox } from "antd"; import { ArrowLeft, FileText, ImageIcon, Video, Music, Save, SkipForward, CheckCircle, Eye, Settings, } from "lucide-react"; import { mockTasks } from "@/mock/annotation"; import { Outlet, useNavigate } from "react-router"; export default function AnnotationWorkspace() { const navigate = useNavigate(); const [task, setTask] = useState(mockTasks[0]); const [currentFileIndex, setCurrentFileIndex] = useState(0); const [annotationProgress, setAnnotationProgress] = useState({ completed: task.completedCount, skipped: task.skippedCount, total: task.totalCount, }); const handleSaveAndNext = () => { setAnnotationProgress((prev) => ({ ...prev, completed: prev.completed + 1, })); if (currentFileIndex < task.totalCount - 1) { setCurrentFileIndex(currentFileIndex + 1); } message({ title: "标注已保存", description: "标注结果已保存,自动跳转到下一个", }); }; const handleSkipAndNext = () => { setAnnotationProgress((prev) => ({ ...prev, skipped: prev.skipped + 1, })); if (currentFileIndex < task.totalCount - 1) { setCurrentFileIndex(currentFileIndex + 1); } message({ title: "已跳过", description: "已跳过当前项目,自动跳转到下一个", }); }; const getDatasetTypeIcon = (type: string) => { switch (type) { case "text": return ; case "image": return ; case "video": return