Commit Graph

10 Commits

Author SHA1 Message Date
鄭沛軒 afd0e660ef refactor: 完成Learn→Review重命名和Navigation死代碼清理
## Learn → Review 語義重命名
- 目錄結構: learn/ → review/ (內部架構)
- 測驗組件目錄: tests/ → review-tests/
- 狀態管理: useLearnStore → useReviewStore
- 服務層: LearnService → ReviewService
- 核心組件: TestRunner → ReviewRunner

## Navigation.tsx 死代碼清理
- 移除從未使用的 showExitLearning 和 onExitLearning props
- 刪除永不顯示的「結束複習」按鈕邏輯
- 簡化函數簽名,提升代碼可讀性
- 更新導航文字:「學習」→「複習」

## 架構優化成果
- 語義更精確:review(複習) 比 learn(學習) 更準確描述功能
- 代碼更清潔:移除16行左右的死代碼
- 用戶體驗保持:/learn 路由依然正常運作
- 維護性提升:組件職責更明確,擴展更容易

## 技術改進
- 保持完整的企業級4層架構
- 7種測驗組件完整重命名
- Zustand狀態管理語義優化
- 路由兼容性確保用戶無感知

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-27 18:18:43 +08:00
鄭沛軒 0bf0541c87 feat: 實現個人化高價值詞彙判定系統
主要功能:
- 實現基於用戶英語程度的個人化詞彙標記
- A1用戶標記A2-B1為高價值,C1用戶只標記C2為高價值
- 完整的前後端個人化學習體驗

後端架構:
- 擴充User實體新增英語程度相關欄位
- 建立CEFRLevelService等級比較服務
- 更新GeminiService支援個人化AI Prompt
- API支援userLevel參數,回應包含個人化資訊

前端體驗:
- 新增完整的程度設定頁面(/settings)
- 導航選單整合設定連結
- generate頁面顯示個人化程度指示器
- 自動傳遞用戶程度到API進行個人化分析

技術實現:
- 動態AI Prompt根據用戶程度調整判定標準
- localStorage保存用戶程度設定
- 向下相容設計,未設定時預設A2程度
- 完整的錯誤處理和回退機制

用戶價值:
- 從固定B1以上改為個人化程度+1~2級
- 真正適合用戶挑戰程度的詞彙標記
- 提升學習效率,避免過難或過簡單的干擾

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 22:37:38 +08:00
鄭沛軒 303f0ac727 fix: 統一 Generate 頁面導航體驗
- 在標準 Navigation 組件中添加「AI 生成」選項
- 將 Generate 頁面改為使用統一的 Navigation 組件
- 添加 ProtectedRoute 包裝確保安全性一致
- 移除自定義內聯導航,提升代碼維護性
- 確保所有頁面的導航體驗統一

現在所有頁面都有完整的響應式導航,包括手機版漢堡選單、用戶資訊和登出功能。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 14:09:53 +08:00
鄭沛軒 452cdef641 fix: 保留通知按鈕在手機版,完善響應式設計
📱 手機版最終設計:
頂部:[🍔] DramaLing [🔔]
- 漢堡選單:導航功能
- Logo:品牌識別
- 通知按鈕:重要功能保留

🎯 響應式顯示策略:
- 通知按鈕:桌面和手機都顯示
- 用戶資訊:只在桌面版顯示(頭像、用戶名、登出)
- 下拉選單:手機版的用戶資訊區域

 現在的完美設計:
🖥️ 桌面:[🍔] DramaLing | 導航項目     [🔔] [👤 用戶名] [登出]
📱 手機:[🍔] DramaLing [🔔]

🚀 符合用戶期望的直覺設計!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:59:16 +08:00
鄭沛軒 41266742b4 fix: 完善手機版導航設計,隱藏頂部用戶資訊
📱 手機版 UI 最佳化:
- 頂部只保留漢堡選單和 Logo(極簡設計)
- 用戶資訊、通知按鈕移到桌面版專用(hidden md:flex)
- 手機版的用戶資訊完全在下拉選單中

🎯 現在的手機版佈局:
頂部:[🍔] DramaLing
下拉:導航 + 用戶資訊 + 登出

 符合移動端設計最佳實踐:
- 頂部導航條簡潔明瞭
- 避免小螢幕上的擁擠感
- 用戶資訊放在邏輯位置(選單底部)

🚀 DramaLing 現在有真正專業的響應式設計!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:56:57 +08:00
鄭沛軒 c4010c362c fix: 修正漢堡選單位置,符合標準 UI 模式
🔧 UI 位置修正:
- 將漢堡選單按鈕移到 Logo 左邊
- 符合標準的移動端 UI 設計模式
- 提升用戶的直覺操作體驗

📱 現在的手機版佈局:
[🍔] DramaLing                    [通知]

 標準 UI 模式:
- 漢堡選單在左上角是業界標準
- 用戶更容易找到和操作
- 與主流 App 的使用習慣一致

🎯 完美的響應式導航系統現已完成!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:53:26 +08:00
鄭沛軒 4797366a25 feat: 添加手機版響應式導航,實現漢堡選單
📱 手機版導航系統:
- 添加漢堡選單按鈕(三條線 ↔ X 圖示切換)
- 實作手機版下拉選單,包含所有導航項目
- 手機版用戶資訊區域(頭像 + 登出)
- 點擊導航項目後自動關閉選單

🎯 響應式設計改進:
- 桌面版:水平導航條 + 右側用戶資訊
- 手機版:漢堡選單 + 垂直下拉選單
- 當前頁面在手機版以主色調背景高亮

🔧 技術實作:
- 使用 Tailwind 的 md: 斷點控制顯示/隱藏
- useState 管理手機選單開關狀態
- 動態 SVG 圖示切換(選單/關閉)

 解決問題:
- 手機版現在有完整的導航功能
- 所有頁面在手機上都可以正常使用
- 專業級的響應式用戶體驗

🚀 DramaLing 現在完全支援桌面和手機裝置!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:51:17 +08:00
鄭沛軒 ca64e99eec fix: 修復 flashcards 頁面 CSS 佈局偏移問題
🔧 佈局一致性修復:
- 移除 flashcards 頁面的額外 header 容器
- 統一所有頁面的容器結構
- 修復雙重 max-w-7xl mx-auto 容器造成的偏移
- 簡化 CSS 層次結構

📐 現在所有頁面都使用統一結構:
```
<div className="min-h-screen bg-gray-50">
  <Navigation />
  <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
    <!-- 頁面內容 -->
  </div>
</div>
```

 解決的問題:
- flashcards 頁面不再偏右
- 所有頁面的對齊方式完全一致
- 減少不必要的容器嵌套

🎯 用戶現在看到的是完全一致的頁面佈局!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:39:12 +08:00
鄭沛軒 4644988f00 fix: 完全統一所有頁面的導航系統
🔧 徹底解決導航不一致問題:
- 修復 learn 頁面使用舊的內聯導航
- 升級 Navigation 組件支援學習模式
- 添加 showExitLearning 屬性處理特殊情況
- 移除所有重複的導航代碼

🎯 統一導航系統功能:
- 所有頁面使用同一個 Navigation 組件
- 學習頁面特殊的「× 結束學習」按鈕
- 當前頁面自動高亮顯示
- 完整的用戶資訊和登出功能

📋 修復的頁面:
-  dashboard: 使用統一導航
-  flashcards: 使用統一導航
-  learn: 使用統一導航(含結束學習按鈕)

🚀 現在所有頁面的導航完全一致!
不再有兩套導航系統,用戶體驗大幅提升。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:33:11 +08:00
鄭沛軒 b6ac4e7d6c fix: 修復導航一致性問題,建立統一的 Navigation 組件
🔧 導航系統重構:
- 建立可重用的 Navigation 組件
- 統一所有頁面的頂部導航
- 修復 flashcards 頁面導航消失問題
- 更新 dashboard 頁面使用新組件

🎯 導航功能:
- DramaLing Logo(點擊回到 dashboard)
- 主要導航:儀表板、詞卡、學習、AI 生成
- 用戶資訊:頭像、用戶名、登出按鈕
- 當前頁面高亮顯示

🚀 用戶體驗改進:
- 所有頁面導航一致
- 清晰的視覺層次
- 響應式設計
- 平滑的互動效果

現在用戶可以在任何頁面輕鬆導航到其他功能!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:26:01 +08:00