interface TestItem { id: string cardId: string word: string testType: string testName: string isCompleted: boolean isCurrent: boolean order: number } interface TaskListModalProps { isOpen: boolean onClose: () => void testItems: TestItem[] completedTests: number totalTests: number } export const TaskListModal: React.FC = ({ isOpen, onClose, testItems, completedTests, totalTests }) => { if (!isOpen) return null const progressPercentage = totalTests > 0 ? Math.round((completedTests / totalTests) * 100) : 0 const completedCount = testItems.filter(item => item.isCompleted).length const currentCount = testItems.filter(item => item.isCurrent).length const pendingCount = testItems.filter(item => !item.isCompleted && !item.isCurrent).length return (
{/* Header */}

📚 學習任務清單

{/* Content */}
{/* 進度統計 */}
測驗進度: {completedTests} / {totalTests} ({progressPercentage}%)
✅ 已完成: {completedCount} ⏳ 進行中: {currentCount} ⚪ 待完成: {pendingCount}
{/* 測驗清單 */}
{testItems.length > 0 ? (
{testItems.map((item) => (
{/* 狀態圖標 */} {item.isCompleted ? '✅' : item.isCurrent ? '⏳' : '⚪'} {/* 測驗資訊 */}
{item.order}. {item.word} - {item.testName}
{item.isCompleted ? '已完成' : item.isCurrent ? '進行中' : '待完成'}
))}
) : (
📚

還沒有生成任務清單

)}
{/* Footer */}
) }