Commit Graph

60 Commits

Author SHA1 Message Date
鄭沛軒 db952f94be fix: 統一popup樣式,修正詞卡風格與實際功能的一致性問題
- 修正ClickableTextV2組件的popup樣式,與詞卡風格展示頁面保持一致
- 調整詞彙標題為左對齊
- 統一按鈕容器padding (p-4)
- 修復TypeScript錯誤和類型問題
- 新增詞卡風格選項到展示頁面
- 實現完整的popup樣式一致性測試

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 23:10:26 +08:00
鄭沛軒 453ecd6d1c fix: 修正手機端詞彙popup定位問題
- 解決手機版popup容易被屏幕邊緣截掉的問題
- 實現響應式popup寬度:min(320px, calc(100vw - 32px))
- 針對手機端(≤640px)特殊處理:popup自動居中顯示
- 優化邊界檢測邏輯,確保popup始終在可視範圍內
- 大屏幕保持智能定位,小屏幕採用安全居中策略
- 添加動態寬度計算,適應不同屏幕尺寸
- 預留最小邊距16px,避免popup貼邊顯示

修正後手機端用戶體驗大幅改善,popup不再被截掉。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 20:13:20 +08:00
鄭沛軒 be236f7216 refactor: 移除卡組功能,簡化詞卡管理系統
- 完全移除卡組分類功能,簡化詞卡管理邏輯
- 詞卡管理頁面只保留"所有詞卡"和"收藏詞卡"兩個tab
- 移除卡組相關界面元素和統計信息
- 詞卡列表顯示創建時間取代卡組信息
- 詞卡詳細頁面移除開始學習按鈕
- CEFR標籤移至卡片右上角,移除"CEFR"文字前綴
- 底部操作按鈕採用平均延展布局(flex-1)
- 強化搜尋和收藏功能作為主要組織方式
- 創建詞卡管理系統簡化規格文檔
- 專注詞彙學習本質,降低管理複雜度

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 19:29:00 +08:00
鄭沛軒 080cbe14a6 refactor: 優化詞卡詳細頁面設計並修正TypeScript錯誤
- 刪除左上角藍色圓圈頭像,讓詞彙標題更突出
- 調整詞性位置到音標左邊,邏輯順序更合理
- 統一播放按鈕樣式,參考學習功能翻卡模式設計
- 刪除右上角多餘的收藏星星,保持CEFR標籤純粹
- 修正TypeScript類型錯誤,確保編譯正常
- 簡化API邏輯,使用假資料確保穩定展示
- 統一詞彙和例句的播放按鈕為學習功能風格

設計現在更加簡潔清晰,與學習功能完全一致。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:52:08 +08:00
鄭沛軒 0b871a9301 feat: 創建詞卡詳細頁面與完善導航功能
- 新增詞卡詳細頁面 (/flashcards/[id]) 採用學習功能風格設計
- 實現完整的詞卡詳細展示,包含學習統計、內聯編輯功能
- 修正Next.js 15的params處理,使用React.use()解包Promise
- 更新詞卡列表的導航邏輯,點擊詳細按鈕跳轉到詳細頁面
- 添加假資料支援,確保所有詞卡都能正常顯示詳細頁面
- 實現內聯編輯功能,支援翻譯、定義、例句的即時編輯
- 整合收藏功能到詞卡詳細頁面
- 提供開始學習和刪除詞卡的快速操作
- 採用漸層背景和彩色區塊設計,與學習功能保持一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:40:39 +08:00
鄭沛軒 33b291b505 feat: 完善詞卡管理頁面的搜尋和交互體驗
- 實現進階搜尋功能,支援CEFR等級、詞性、掌握度、收藏狀態篩選
- 新增搜尋結果高亮顯示,關鍵字會被黃色標記
- 重新設計右側操作按鈕,增大尺寸提升點擊體驗
- 修正tab高亮邏輯,避免多個tab同時亮起的問題
- 優化卡片交互邏輯,移除整卡點擊,只保留右側導航按鈕
- 修正例句圖片映射邏輯,確保所有詞卡都有對應圖片
- 添加完整的假資料展示六個CEFR等級效果
- 實現快速篩選按鈕,一鍵篩選常用條件
- 修正TypeScript類型錯誤,確保編譯正常

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:19:31 +08:00
鄭沛軒 4e69030bc2 feat: 實現完整的詞彙儲存功能與UI設計優化
- 新增後端批量詞卡保存API (POST /api/flashcards/batch)
- 實現前端詞卡選擇對話框組件 (CardSelectionDialog)
- 優化句子分析頁面設計,以句子為主體
- 重新設計ClickableTextV2詞彙popup,採用現代玻璃morphism風格
- 改進詞卡清單頁面,採用簡潔的清單設計
- 添加CEFR等級標註與六級顏色設計
- 新增收藏功能與收藏詞卡tab頁面
- 創建詞彙版型展示頁面 (vocab-designs)
- 建立完整的UI/UX設計規範文件
- 撰寫詞彙生成與儲存系統技術規格文件
- 使用假數據實現快速測試功能
- 優化例句圖片展示與播放按鈕設計

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:52:22 +08:00
鄭沛軒 b8aa0214f0 style: 優化重組區域置中效果與註解規範
## 重組區域視覺改進
- 修正「答案區」完全置中對齊(上下左右都置中)
- 使用 absolute inset-0 確保完美居中效果
- 添加 relative 定位支援絕對定位子元素

## 代碼註解規範
- 為所有測驗說明文字添加統一註解格式
- 使用 "Instructions Test Action" 標準註解
- 提升代碼可讀性和維護性

## 布局微調
- 優化重組區域的空白狀態顯示
- 確保視覺元素的精確對齊

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 12:18:11 +08:00
鄭沛軒 12488b3bdd style: 統一所有測驗的答案回饋樣式與間距
## 樣式統一化
- 統一所有答案回饋為例句重組的標準格式
- 修正詞彙選擇和詞彙聽力的選項間距問題
- 統一圖片顯示尺寸,以例句重組為標準

## 具體改進
- 答案回饋容器:統一使用 p-6 rounded-lg w-full mb-6
- 標題文字:統一使用 text-left text-xl mb-4
- 選項區域:添加 mb-6 底部間距避免與回饋區域黏合
- 圖片樣式:移除 VoiceRecorder 中的額外樣式限制

## VoiceRecorder 組件優化
- 添加自定義說明文字支援
- 統一圖片容器和樣式
- 改善布局順序和間距

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 04:31:27 +08:00
鄭沛軒 d1c5f2e31c refactor: 優化例句口說功能設計與用戶體驗
## VoiceRecorder 組件改進
- 添加自定義說明文字 prop (instructionText)
- 調整布局順序:圖片 → 說明 → 例句
- 統一圖片容器樣式與其他模式一致

## 例句口說頁面優化
- 移除重複的例句和圖片顯示
- 簡化錄音完成回饋區域
- 移除不必要的目標單字和發音顯示
- 調整回饋訊息為分行顯示,提升可讀性
- 實現滿版寬度布局

## 用戶體驗改進
- 消除重複內容,介面更簡潔
- 統一設計語言,視覺一致性更好
- 優化訊息層次,重點更突出

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 04:12:52 +08:00
鄭沛軒 7203346134 feat: 完成例句重組與例句口說功能設計
## 例句重組功能實現
- 實現完整的點擊式單字重組功能
- 添加例句圖片顯示支援
- 創建直觀的重組區域和可用單字區域
- 實現答案檢查和結果回饋系統
- 提供重新開始功能

## 例句口說功能優化
- 添加例句圖片顯示
- 重新設計為完整例句口說練習
- 使用統一的區塊化布局設計
- 移除單獨的詞彙發音區塊,專注於例句練習
- 調整VoiceRecorder目標為完整例句

## 技術改進
- 改進拖拉操作為更簡單的點擊操作
- 統一所有測驗模式的視覺設計
- 優化用戶互動體驗和學習流程

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 04:00:14 +08:00
鄭沛軒 a20fa9004d feat: 重構例句填空與例句重組功能
## 例句填空重大改進
- 實現真正的例句挖空功能,支援點擊輸入
- 添加例句圖片顯示,提供視覺化學習輔助
- 重新設計答案回饋為滿版左對齊布局
- 優化提示功能顯示詞彙定義而非字母提示
- 移除例句中文翻譯,專注於英文理解

## 例句重組功能增強
- 添加例句圖片顯示功能
- 保持與例句填空一致的視覺設計

## 其他優化
- 修復翻卡記憶標題置中問題
- 優化詞彙聽力模式,移除定義和翻譯干擾
- 統一所有測驗模式的標題和布局格式

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 03:41:44 +08:00
鄭沛軒 a39ef4ba6f ux: 調整測驗頁面布局為統一格式
- 將所有測驗模式的標題移至左上角
- 難度標籤移至右上角
- 為每個測驗添加清楚的操作說明文字
- 使用 flex justify-between 布局統一標題區域

改善用戶體驗,讓每個測驗的目的和操作方式更加清晰明確。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 02:49:36 +08:00
鄭沛軒 55db91c872 refactor: 重新命名學習模式為更清晰的名稱
- 翻卡題 → 翻卡記憶 (flip-memory)
- 選擇題 → 詞彙選擇 (vocab-choice)
- 詞彙聽力題 → 詞彙聽力 (vocab-listening)
- 例句聽力題 → 例句聽力 (sentence-listening)
- 填空題 → 例句填空 (sentence-fill)
- 例句重組題 → 例句重組 (sentence-reorder)
- 例句口說題 → 例句口說 (sentence-speaking)

更新了TypeScript型別定義、Tab Bar按鈕文字、測驗頁面標題和所有相關的條件判斷邏輯。新名稱更具描述性,用戶更容易理解每種測驗的功能和目標。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 01:00:42 +08:00
鄭沛軒 e794f47909 fix: 修復選擇題模式的 TypeScript 型別錯誤
為 selectedOtherWords 變數加上明確的 string[] 型別宣告,
解決了 TypeScript 無法推斷變數型別的編譯錯誤。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 23:49:20 +08:00
鄭沛軒 15c4bffe3d ux: 優化選擇題模式的對齊方式和答案回饋
- 統一選擇題內容為左對齊:問題文字、選項按鈕、答案回饋
- 完善答案顯示:答對和答錯時都顯示詞彙、音標和播放功能
- 改善學習回饋體驗,確保用戶獲得完整的發音資訊
- 優化視覺一致性,與翻卡模式保持統一設計語言

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 23:36:53 +08:00
鄭沛軒 5bd823ee91 ux: 重構學習模式設計與導航體驗
- 改進選擇題模式:顯示定義讓用戶選擇對應英文詞彙
- 優化選項生成邏輯:動態從卡片組生成選項並隨機排序
- 新增翻卡背面例句播放功能,提升學習效果
- 統一所有學習模式導航按鈕位置和樣式
- 實現全版導航按鈕設計,改善觸控體驗
- 修正結果顯示邏輯和音頻回饋功能

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 23:23:02 +08:00
鄭沛軒 c1e296c860 ux: 實現翻卡模式動態高度適配與版面優化
- 新增動態高度計算系統,解決翻轉時卡片大小變化問題
- 實現正面背面高度自動匹配,確保翻轉體驗一致
- 優化翻卡模式設計:移除CEFR標籤、簡化正面佈局
- 改善背面內容組織:灰底區分、左對齊文字、移除冗餘元素
- 修復背面底部空白問題,提升視覺整潔度
- 添加平滑高度過渡動畫,增強用戶體驗

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 23:09:45 +08:00
鄭沛軒 31e3fe9fa8 ux: 優化學習頁面用戶體驗和互動設計
- 修正翻卡模式卡片翻轉動畫和版面配置
- 改善選擇題模式答案顯示和回饋機制
- 優化語音錄音組件狀態管理
- 加強用戶交互體驗和視覺回饋

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 17:44:39 +08:00
鄭沛軒 da85bb8f42 ux: 優化學習模式的用戶體驗設計
- 簡化語音播放器,移除口音切換和音量控制
- 修正選擇題邏輯:根據英文定義選擇詞彙
- 修復播放按鈕事件冒泡問題,避免誤觸翻卡
- 優化翻卡背面設計,使用灰色區塊和自適應高度
- 統一語音播放為美式發音,提供一致體驗

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 14:49:37 +08:00
鄭沛軒 0bfb08a97b ux: 優化翻卡模式和錯誤回報按鈕的視覺設計
- 移除翻卡背面的滾動條,讓內容自然延伸
- 將錯誤回報按鈕從紅色改為灰色,降低視覺干擾
- 提升整體用戶體驗的視覺和諧度

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 13:50:36 +08:00
鄭沛軒 8a889a9d9c feat: 完成後端語音服務架構與測試文檔
- 實現 AudioController API 端點
- 建立 Azure Speech Services 整合架構
- 新增音頻快取、評估記錄、用戶偏好資料模型
- 完成服務依賴注入配置
- 建立完整的測試案例規格書
- 生成詳細的測試執行報告
- 建立語音功能技術規格文檔

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 13:33:31 +08:00
鄭沛軒 d5395f5741 feat: 實現完整語音功能系統與學習模式整合
- 新增 TTS 語音播放和語音辨識功能
- 實現 Azure Speech Services 整合架構
- 建立完整的音頻快取和評估系統
- 整合語音功能到五種學習模式
- 新增語音錄製和發音評分組件
- 優化學習進度和評分機制
- 完成語音功能規格書和測試案例文檔

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 13:33:17 +08:00
鄭沛軒 f90286ad88 ux: 優化用戶友善文案,將「高價值詞彙」改為「重點學習詞彙」
文案優化:
- 程度指示器:「💎 高價值範圍」→「📈 重點學習範圍」
- 設定頁面:「高價值詞彙範圍」→「重點學習範圍」
- AI Prompt:「標記為高價值」→「標記為重點學習」
- 詞彙標記:「高價值詞彙」→「重點學習詞彙」

視覺優化:
- 圖標升級: (價值感) → 🎯 (目標感)
- 強化學習導向的表達方式

技術修復:
- 新增DbContext個人化欄位映射,解決資料庫欄位問題
- 確保C#模型與SQLite表結構正確對應

用戶體驗提升:
- 從商業化的「價值」概念轉為教育性的「學習」概念
- 更直觀的個人化學習目標表達
- 減少用戶理解負擔,提升整體友善度

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 00:26:10 +08:00
鄭沛軒 dcacba2523 docs: 更新個人化詞彙計劃文檔
- 修正高價值範圍對照表,確保所有等級都有適當的挑戰範圍
- C1/C2 用戶調整為包含 C1-C2 範圍而非僅 C2
- 保持學習挑戰性的同時避免過於限制

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 22:38:11 +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
鄭沛軒 1b937f85c0 refactor: 大幅清理 AIController 冗餘代碼並優化架構
主要優化:
- 移除 AnalyzeLowValueWord 重複方法 (70+ 行)
- 移除 IsHighValueWord 複雜判定邏輯
- 移除 GetHighValueWordAnalysis 假資料方法
- 完全重寫 QueryWord 方法,從 55 行簡化到 25 行

架構改善:
- 統一使用 GeminiService.AnalyzeWordAsync 進行詞彙分析
- 移除高/低價值詞彙的複雜分支邏輯
- Controller 職責單純化,只負責 HTTP 請求處理
- 遵循 DRY 原則,避免重複代碼

代碼品質提升:
- 總行數減少約 200 行 (-14%)
- 移除 3 個重複方法
- 簡化錯誤處理邏輯
- 提升代碼可讀性和維護性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 20:59:13 +08:00
鄭沛軒 4f16cbfa08 refactor: 移除所有快取機制並優化 AI 服務架構
主要變更:
- 完全移除句子分析快取,每次都進行真實 AI 分析
- 移除詞彙查詢的假資料實現,改用真實 Gemini AI
- 在 GeminiService 中新增專門的 AnalyzeWordAsync 方法
- 修正架構設計,將 AI 邏輯從 Controller 移到 Service 層
- 移除前端快取狀態顯示,簡化用戶介面

技術改善:
- 遵循分層架構原則,Service 層處理 AI 邏輯
- 統一錯誤處理和回退機制
- 新增完整的詞彙分析 JSON 解析邏輯
- 確保每次查詢都獲得最新的 AI 分析結果

附加:
- 新增查詢歷史系統設計規格文檔
- 為未來實現查詢歷史功能做準備

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 20:47:48 +08:00
鄭沛軒 4311c1c3b5 chore: 清理並重新組織項目文檔結構
- 移除根目錄下的散亂文檔檔案
- 將文檔重新組織到 note/plan/ 和 note/spec/ 目錄
- 改善項目文檔的可維護性和查找性

文檔重新分類:
- note/plan/ - 開發計劃和規劃文檔
- note/spec/ - 技術規格和實現文檔
- 根目錄 - 核心 API 文檔和快取規格

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:42:19 +08:00
鄭沛軒 255adc62c9 feat: 簡化句子分析功能並實現全詞彙可點擊
主要變更:
- 移除句子分析中的冗長解釋,只保留翻譯
- 修改 AI Prompt 簡化回應格式
- 實現所有單字都可點擊的互動功能
- 無預存資料的詞彙支援即時 AI 查詢
- 移除付費限制,提供完全免費的詞彙查詢體驗
- 新增詞彙快取機制技術規格文檔

技術改善:
- 優化 ClickableTextV2 組件支援全詞彙點擊
- 新增動態詞彙資料更新機制
- 改善視覺提示,區分有/無預存資料的詞彙
- 整理項目文檔結構,移除過時檔案

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:41:48 +08:00
鄭沛軒 e940d86f4a feat: 暫時關閉使用次數限制系統
- 修改前端 isPremium 設定為 true,跳過使用次數檢查
- 修改後端 UsageService 調用參數為 premium 用戶
- 修復後端編譯錯誤,添加 System.Text.Json using
- 更新使用限制實施報告,添加完整修改記錄和復原步驟
- 驗證系統可無限制調用分析功能

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 15:10:54 +08:00
鄭沛軒 1fb7cadd52 feat: 新增完整的系統分析文檔和前端快取狀態顯示
前端改善:
- 新增快取狀態視覺化標籤 (💾 快取結果 / 🤖 AI 分析)
- 完善ClickableTextV2組件的大小寫屬性相容性
- 修復互動式單字查詢功能在快取場景下的顯示問題
- 改善載入狀態提示,增加時間預期說明
- 新增getWordProperty輔助函數,統一處理屬性讀取

系統文檔:
- 新增完整的功能規格文檔 (User Flow + 測試案例)
- 生成快取機制分析報告 (前端+後端)
- 建立使用限制功能實現報告
- 記錄所有檢查方法和問題解決過程

清理:
- 移除過時的環境設定文檔
- 整理專案結構

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:44:48 +08:00
鄭沛軒 63b1018d97 fix: 完全修復快取資料結構不一致問題和互動式單字查詢功能
- 修復快取API回應中sentenceMeaning大小寫不一致問題
- 完善ClickableTextV2組件對快取資料的屬性讀取相容性
- 新增前端快取狀態顯示(💾 快取結果 / 🤖 AI 分析)
- 統一JSON序列化設定,使用camelCase命名策略
- 新增getWordProperty輔助函數,支援大小寫屬性名稱
- 修復單字彈窗中所有屬性的讀取邏輯
- 完善語法修正和詞彙分析的資料格式相容性
- 新增詳細的系統功能分析文檔

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:43:53 +08:00
鄭沛軒 c0edf93c8a feat: 添加登入頁面開發模式自動填入功能
- 登入頁面自動填入測試資料 (john@mail.com / 1qaz@WSX)
- 只在開發環境生效,生產環境保持原有行為
- 添加開發模式視覺提示
- 註冊頁面保持手動輸入確保流程完整性

提升開發效率,無需每次手動輸入登入資料

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 02:38:52 +08:00
鄭沛軒 d69ba4ea8a feat: 完成前端整合和調試優化
- 整合demo-v3功能到正式generate頁面
- 移除測試示例和調試內容
- 添加前端調試日誌協助排查問題
- 修復組件安全性檢查
- 符合原始功能規格要求

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 02:10:55 +08:00
鄭沛軒 95097cf3f1 feat: 實現真正的AI驅動互動式單字查詢系統
## 主要功能
- 整合真正的Gemini AI進行句子分析和翻譯
- 實現智能語法錯誤檢查和修正建議
- 完整的高價值詞彙標記系統(片語/單字/普通)
- 24小時快取機制提升性能和降低成本
- 互動式單字查詢:高價值免費,低價值收費
- 使用次數限制:免費用戶5次/3小時

## 技術實現
- 新增真正的Gemini AI句子分析服務
- 實現快取服務和背景清理任務
- 完整的前後端API整合
- 語法修正面板和互動文字組件
- 使用統計追蹤和限制機制

## 系統架構
- 後端:真正的AI分析 + 快取 + 統計
- 前端:互動式UI + 狀態管理 + 錯誤處理
- 資料庫:快取表 + 使用統計表

## 成本優化
- 預分析高價值詞彙,後續免費查詢
- 24小時快取避免重複AI調用
- 智能收費機制:高價值免費,低價值按需收費
- 預估API成本降低80-95%

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 02:09:56 +08:00
鄭沛軒 76e95dbef2 feat: 實現互動式單字查詢系統,包含語法修正和高價值標記功能
## 主要功能
- 智能語法錯誤檢測和修正建議(9種錯誤類型)
- 高價值詞彙標記系統(片語/俚語/中高級單字)
- 三色視覺區分:🟡高價值片語 🟢高價值單字 🔵普通單字
- 成本優化:高價值詞彙免費查詢,低價值詞彙按需收費
- 字數限制提升:50字→300字

## 技術實現
- 新增 ClickableTextV2 和 GrammarCorrectionPanel 組件
- 更新 Generate 頁面整合完整功能
- 完整的設計規格文檔(API、UI線框圖、功能規格)
- 多個演示頁面展示功能效果

## 成本效益
- 一次API調用,多次免費查詢
- 預估API成本降低80-95%
- 智能收費機制精準控制成本

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 19:57:08 +08:00
鄭沛軒 336f235684 chore: 停止追蹤 Claude Code 個人設定檔案
- 從版本控制中移除 .claude/settings.local.json
- 添加 .claude/ 目錄到 .gitignore
- 保持個人化 Claude Code 設定的私密性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:13:37 +08:00
鄭沛軒 59e94b957a chore: 忽略 Claude Code 個人設定檔案
- 添加 .claude/ 目錄到 .gitignore
- 避免個人化 Claude Code 設定被提交到版本控制

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:13:13 +08:00
鄭沛軒 3838be2ea3 fix: 完善 .gitignore 規則,正確忽略 Next.js 編譯產物
- 添加 frontend/.next/ 和 frontend/out/ 忽略規則
- 避免 Next.js 編譯快取被意外提交到版本控制

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:12:09 +08:00
鄭沛軒 448883ff97 feat: 實現 AI 服務整合和前後端連接
- 整合 Google Gemini API 服務
- 添加測試端點支援無認證調用
- 實現前端 API 調用和資料格式轉換
- 完善錯誤處理和模擬資料回退
- 添加詞卡保存到資料庫功能
- 配置 User Secrets 安全管理 API 金鑰
- 優化 AI 服務條件判斷邏輯

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:08:37 +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
鄭沛軒 97606d8c56 chore: 停止追蹤 Next.js 編譯產物和快取文件
移除已被錯誤追蹤的 .next 目錄文件,這些文件應該被 .gitignore 規則忽略。
包括:webpack 快取、編譯產物、型別定義、建置清單等開發時產生的檔案。

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 13:49:37 +08:00
鄭沛軒 715b735c4d feat: 實現自動「未分類」預設卡組功能
- 新增 CardSet.IsDefault 欄位標識預設卡組
- 實現用戶註冊時自動創建「未分類」卡組
- 添加 ensure-default API 端點確保預設卡組存在
- 優化詞卡創建邏輯,支援自動歸類到預設卡組
- 改善前端表單處理,智能選擇預設卡組
- 修復預設卡組顯示對比度問題

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 13:41:30 +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
鄭沛軒 116daafc37 fix: 解決頁面切換時的晃動問題,強制顯示滾動軸
🔧 滾動軸晃動問題修復:
- 在 globals.css 中添加 `html { overflow-y: scroll; }`
- 強制垂直滾動軸始終顯示
- 防止內容長度不同的頁面切換時產生晃動
- 添加 `body { overflow-x: hidden; }` 防止橫向滾動

🎯 解決的問題:
- flashcards 頁面(內容少)vs dashboard/learn 頁面(內容多)
- 滾動軸出現/消失導致的頁面寬度變化
- 導航切換時的視覺跳動

 現在的體驗:
- 所有頁面都有一致的滾動軸
- 頁面切換完全穩定,無晃動
- 專業級的用戶體驗

🚀 DramaLing 的 UI/UX 品質再次提升!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 03:45:51 +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