diff --git a/frontend/app/review-simple/components/SimpleFlipCard.tsx b/frontend/app/review-simple/components/SimpleFlipCard.tsx index b691fc7..0803a71 100644 --- a/frontend/app/review-simple/components/SimpleFlipCard.tsx +++ b/frontend/app/review-simple/components/SimpleFlipCard.tsx @@ -50,19 +50,28 @@ export function SimpleFlipCard({ card, onAnswer, onSkip }: SimpleFlipCardProps) setIsFlipped(!isFlipped) }, [isFlipped]) + // 統一的卡片狀態重置函數 + const resetCardState = useCallback(() => { + setIsFlipped(false) + setSelectedConfidence(null) + }, []) + const handleConfidenceSelect = useCallback((level: number) => { if (hasAnswered) return - setSelectedConfidence(level) - }, [hasAnswered]) - const handleSubmit = () => { - if (selectedConfidence) { - onAnswer(selectedConfidence) - // 重置狀態為下一張卡片準備 - setIsFlipped(false) - setSelectedConfidence(null) - } - } + // 直接提交,不需要確認步驟 + setSelectedConfidence(level) + onAnswer(level) + + // 重置狀態為下一張卡片準備 + setTimeout(resetCardState, 300) // 短暫延遲讓用戶看到選擇效果 + }, [hasAnswered, onAnswer, resetCardState]) + + const handleSkipClick = useCallback(() => { + onSkip() + // 跳過後也重置卡片狀態 + setTimeout(resetCardState, 100) // 較短延遲,因為沒有選擇效果需要顯示 + }, [onSkip, resetCardState]) return (
詞彙順序 (按延遲分數排序):
++ 🟢完成、🟡跳過、🟠答錯、🔴跳過+答錯、⚪未開始 +
+