dramaling-vocab-learning/frontend/app
鄭沛軒 7aa4f3e1fc refactor: 統一CEFR工具函數,移除重複代碼
## 重構內容
- 建立統一的 lib/utils/cefrUtils.ts 工具函數庫
- 移除 app/generate/page.tsx 中重複的 CEFR 轉換邏輯
- 移除 components/ClickableTextV2.tsx 中重複的比較函數
- 統一 CEFR_LEVELS 常數定義和類型安全

## 改善效果
- 減少60+行重複代碼
- 提升代碼維護性和一致性
- 增強TypeScript類型安全
- 實現單一真實來源原則 (Single Source of Truth)

## 包含的工具函數
- cefrToNumeric: 字串轉數字
- numericToCefr: 數字轉字串
- compareCEFRLevels: 等級比較
- getLevelIndex: 獲取索引
- getTargetLearningRange: 學習範圍建議
- isValidCEFRLevel: 等級驗證

## 額外新增
- frontend-code-analysis-report.md: 前端程式碼診斷報告

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 03:04:14 +08:00
..
dashboard feat: 完成完整的Learn→Review路由統一化 2025-09-27 18:42:12 +08:00
flashcards feat: 完成前端架構優化與類型安全重構 2025-10-01 02:33:24 +08:00
generate refactor: 統一CEFR工具函數,移除重複代碼 2025-10-01 03:04:14 +08:00
login feat: 添加登入頁面開發模式自動填入功能 2025-09-18 02:38:52 +08:00
register feat: DramaLing 完整版本 - 韓劇單字學習應用 2025-09-16 23:06:47 +08:00
review refactor: 重構Review狀態管理 - 解決useReviewStore過度集中問題 2025-09-28 22:08:40 +08:00
review-design feat: 完成第二階段ReviewRunner導航系統整合和測試基礎設施 2025-09-29 01:52:53 +08:00
settings ux: 優化用戶友善文案,將「高價值詞彙」改為「重點學習詞彙」 2025-09-19 00:26:10 +08:00
globals.css fix: 解決頁面切換時的晃動問題,強制顯示滾動軸 2025-09-17 03:45:51 +08:00
layout.tsx feat: DramaLing 完整版本 - 韓劇單字學習應用 2025-09-16 23:06:47 +08:00
page.tsx feat: DramaLing 完整版本 - 韓劇單字學習應用 2025-09-16 23:06:47 +08:00