'use client' import { Navigation } from '@/components/shared/Navigation' import { FlipMemory } from '@/components/review/quiz/FlipMemory' import { VocabChoiceQuiz } from '@/components/review/quiz/VocabChoiceQuiz' import { QuizProgress } from '@/components/review/ui/QuizProgress' import { QuizResult } from '@/components/review/quiz/QuizResult' import { useReviewSession } from '@/hooks/review/useReviewSession' export default function SimpleReviewPage() { // 使用重構後的 Hook 管理線性複習狀態 const { quizItems, score, isComplete, currentQuizItem, currentCard, vocabOptions, totalQuizItems, completedQuizItems, handleAnswer, handleSkip, handleRestart, isLoading, error, flashcards } = useReviewSession() // 顯示載入狀態 if (isLoading) { return (

載入詞卡中...

正在從後端獲取您的複習詞卡

) } // 顯示錯誤狀態 if (error) { return (
⚠️

載入失敗

{error}

) } // 顯示結果頁面 if (isComplete) { return (
{/* 線性測驗完成統計 */}

測驗統計

{completedQuizItems}
完成測驗項目
{flashcards.length}
練習詞卡數
{score.total > 0 ? Math.round((score.correct / score.total) * 100) : 0}%
正確率
) } // 主要線性測驗頁面 return (
{/* 使用修改後的 SimpleProgress 組件 */} {/* 根據當前測驗項目類型渲染對應組件 */} {currentQuizItem && currentCard && ( <> {currentQuizItem.quizType === 'flip-card' && ( )} {currentQuizItem.quizType === 'vocab-choice' && ( )} )} {/* 控制按鈕 */}
) }