diff --git a/frontend/app/review-simple/page.tsx b/frontend/app/review-simple/page.tsx index d718bff..27eecc7 100644 --- a/frontend/app/review-simple/page.tsx +++ b/frontend/app/review-simple/page.tsx @@ -2,10 +2,10 @@ import { Navigation } from '@/components/shared/Navigation' import './globals.css' -import { SimpleFlipCard } from '@/components/review/simple/SimpleFlipCard' -import { VocabChoiceTest } from '@/components/review/simple/VocabChoiceTest' -import { SimpleProgress } from '@/components/review/simple/SimpleProgress' -import { SimpleResults } from '@/components/review/simple/SimpleResults' +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 { SIMPLE_CARDS } from '@/lib/data/reviewSimpleData' import { useReviewSession } from '@/hooks/review/useReviewSession' @@ -32,7 +32,7 @@ export default function SimpleReviewPage() {
-
{/* 使用修改後的 SimpleProgress 組件 */} - {currentTestItem.testType === 'flip-card' && ( - void } -export function SimpleFlipCard({ card, onAnswer, onSkip }: SimpleFlipCardProps) { +export function FlipMemory({ card, onAnswer, onSkip }: SimpleFlipCardProps) { const [isFlipped, setIsFlipped] = useState(false) const [selectedConfidence, setSelectedConfidence] = useState(null) const [cardHeight, setCardHeight] = useState(400) @@ -103,7 +103,7 @@ export function SimpleFlipCard({ card, onAnswer, onSkip }: SimpleFlipCardProps) style={{ backfaceVisibility: 'hidden' }} >
- @@ -137,7 +137,7 @@ export function SimpleFlipCard({ card, onAnswer, onSkip }: SimpleFlipCardProps) }} >
- diff --git a/frontend/components/review/simple/SimpleResults.tsx b/frontend/components/review/quiz/QuizResult.tsx similarity index 94% rename from frontend/components/review/simple/SimpleResults.tsx rename to frontend/components/review/quiz/QuizResult.tsx index 34beb4a..cfa0577 100644 --- a/frontend/components/review/simple/SimpleResults.tsx +++ b/frontend/components/review/quiz/QuizResult.tsx @@ -4,7 +4,7 @@ interface SimpleResultsProps { onRestart: () => void } -export function SimpleResults({ score, totalCards, onRestart }: SimpleResultsProps) { +export function QuizResult({ score, totalCards, onRestart }: SimpleResultsProps) { const accuracy = Math.round((score.correct / score.total) * 100) const getPerformanceMessage = () => { diff --git a/frontend/components/review/simple/VocabChoiceTest.tsx b/frontend/components/review/quiz/VocabChoiceQuiz.tsx similarity index 94% rename from frontend/components/review/simple/VocabChoiceTest.tsx rename to frontend/components/review/quiz/VocabChoiceQuiz.tsx index ab9c014..d99e419 100644 --- a/frontend/components/review/simple/VocabChoiceTest.tsx +++ b/frontend/components/review/quiz/VocabChoiceQuiz.tsx @@ -2,7 +2,7 @@ import { useState, useCallback } from 'react' import { CardState } from '@/lib/data/reviewSimpleData' -import { SimpleTestHeader } from './SimpleTestHeader' +import { QuizHeader } from '../ui/QuizHeader' interface VocabChoiceTestProps { card: CardState @@ -11,7 +11,7 @@ interface VocabChoiceTestProps { onSkip: () => void } -export function VocabChoiceTest({ card, options, onAnswer, onSkip }: VocabChoiceTestProps) { +export function VocabChoiceQuiz({ card, options, onAnswer, onSkip }: VocabChoiceTestProps) { const [selectedAnswer, setSelectedAnswer] = useState(null) const [showResult, setShowResult] = useState(false) @@ -43,7 +43,7 @@ export function VocabChoiceTest({ card, options, onAnswer, onSkip }: VocabChoice return (
- diff --git a/frontend/components/review/simple/SimpleTestHeader.tsx b/frontend/components/review/ui/QuizHeader.tsx similarity index 81% rename from frontend/components/review/simple/SimpleTestHeader.tsx rename to frontend/components/review/ui/QuizHeader.tsx index 5d25c93..66e5232 100644 --- a/frontend/components/review/simple/SimpleTestHeader.tsx +++ b/frontend/components/review/ui/QuizHeader.tsx @@ -5,7 +5,7 @@ interface SimpleTestHeaderProps { cefr: string } -export function SimpleTestHeader({ title, cefr }: SimpleTestHeaderProps) { +export function QuizHeader({ title, cefr }: SimpleTestHeaderProps) { return (

{title}

diff --git a/frontend/components/review/simple/SimpleProgress.tsx b/frontend/components/review/ui/QuizProgress.tsx similarity index 95% rename from frontend/components/review/simple/SimpleProgress.tsx rename to frontend/components/review/ui/QuizProgress.tsx index 0f90ccb..6d444f7 100644 --- a/frontend/components/review/simple/SimpleProgress.tsx +++ b/frontend/components/review/ui/QuizProgress.tsx @@ -8,7 +8,7 @@ interface SimpleProgressProps { testItems?: TestItem[] // 用於顯示測驗項目統計 } -export function SimpleProgress({ currentTestItem, totalTestItems, completedTestItems, score, testItems }: SimpleProgressProps) { +export function QuizProgress({ currentTestItem, totalTestItems, completedTestItems, score, testItems }: SimpleProgressProps) { const progress = (completedTestItems / totalTestItems) * 100 const accuracy = score.total > 0 ? Math.round((score.correct / score.total) * 100) : 0 diff --git a/frontend/lib/config/api.ts b/frontend/lib/config/api.ts index 845be94..7df84e1 100644 --- a/frontend/lib/config/api.ts +++ b/frontend/lib/config/api.ts @@ -5,7 +5,7 @@ // API基礎配置 export const API_CONFIG = { - BASE_URL: process.env.NEXT_PUBLIC_API_URL || 'http://localhost:5008', + BASE_URL: process.env.NEXT_PUBLIC_API_URL || 'http://localhost:5000', ENDPOINTS: { AUTH: '/api/auth', FLASHCARDS: '/api',