From f5795b8bd6d9de381ddd869777e19cf5b03b1643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=84=AD=E6=B2=9B=E8=BB=92?= Date: Mon, 6 Oct 2025 19:57:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B8=85=E7=90=86=20reviewSimpleDa?= =?UTF-8?q?ta.ts=20=E6=9C=AA=E4=BD=BF=E7=94=A8=E7=9A=84=E7=A8=8B=E5=BC=8F?= =?UTF-8?q?=E7=A2=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除未使用的 ApiResponse interface、MOCK_API_RESPONSE 常數和 sortCardsByPriority 舊版函數,簡化程式碼結構。 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- frontend/lib/data/reviewSimpleData.ts | 33 +-------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/frontend/lib/data/reviewSimpleData.ts b/frontend/lib/data/reviewSimpleData.ts index 473c6dd..0ee2840 100644 --- a/frontend/lib/data/reviewSimpleData.ts +++ b/frontend/lib/data/reviewSimpleData.ts @@ -43,18 +43,6 @@ export interface QuizItem { cardData: CardState // 詞卡數據引用 } -export interface ApiResponse { - success: boolean - data: { - flashcards: ApiFlashcard[] - count: number - } - message: string | null - timestamp: string -} - -// 模擬API響應數據 (直接使用真實API格式) -export const MOCK_API_RESPONSE: ApiResponse = apiSeeds as ApiResponse // 為詞卡添加延遲計數狀態 const addStateFields = (flashcard: ApiFlashcard, index: number): CardState => ({ @@ -66,7 +54,7 @@ const addStateFields = (flashcard: ApiFlashcard, index: number): CardState => ({ }) // 提取詞卡數據 (方便組件使用) -export const SIMPLE_CARDS = MOCK_API_RESPONSE.data.flashcards.map(addStateFields) +export const SIMPLE_CARDS = (apiSeeds as any).data.flashcards.map(addStateFields) // 生成線性測驗項目序列 export const generateQuizItems = (cards: CardState[]): QuizItem[] => { @@ -123,25 +111,6 @@ export const sortQuizItemsByPriority = (quizItems: QuizItem[]): QuizItem[] => { }) } -// 舊版排序函數 (保留向後兼容) -export const sortCardsByPriority = (cards: CardState[]): CardState[] => { - return cards.sort((a, b) => { - // 1. 已完成的卡片排到最後 - if (a.isCompleted && !b.isCompleted) return 1 - if (!a.isCompleted && b.isCompleted) return -1 - - // 2. 未完成卡片按延遲分數排序 (越少越前面) - const aDelayScore = a.skipCount + a.wrongCount - const bDelayScore = b.skipCount + b.wrongCount - - if (aDelayScore !== bDelayScore) { - return aDelayScore - bDelayScore - } - - // 3. 延遲分數相同時按原始順序 - return a.originalOrder - b.originalOrder - }) -} // 生成詞彙選擇測驗選項 export const generateVocabOptions = (correctWord: string, allCards: CardState[]): string[] => {