fix: 修復卡片右上角CEFR顯示空白問題
- 移除ExtendedFlashcard接口中冗余的difficulty屬性 - 所有CEFR顯示統一使用difficultyLevel屬性 - 確保卡片右上角正確顯示CEFR等級 (A1, A2, B1, etc.) - 完善接口註釋,避免屬性混淆 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
1987643f6d
commit
639f620948
|
|
@ -13,17 +13,17 @@ import { calculateCurrentMastery, getReviewTypesByDifficulty } from '@/lib/utils
|
||||||
|
|
||||||
// 擴展的Flashcard接口,包含智能複習需要的欄位
|
// 擴展的Flashcard接口,包含智能複習需要的欄位
|
||||||
interface ExtendedFlashcard extends Omit<Flashcard, 'nextReviewDate'> {
|
interface ExtendedFlashcard extends Omit<Flashcard, 'nextReviewDate'> {
|
||||||
userLevel?: number; // 學習者程度 (1-100)
|
userLevel?: number; // 學習者程度 (1-100) - 向後兼容
|
||||||
wordLevel?: number; // 詞彙難度 (1-100)
|
wordLevel?: number; // 詞彙難度 (1-100) - 向後兼容
|
||||||
nextReviewDate?: string; // 下次復習日期 (可選)
|
nextReviewDate?: string; // 下次復習日期 (可選)
|
||||||
currentInterval?: number; // 當前間隔天數
|
currentInterval?: number; // 當前間隔天數
|
||||||
isOverdue?: boolean; // 是否逾期
|
isOverdue?: boolean; // 是否逾期
|
||||||
overdueDays?: number; // 逾期天數
|
overdueDays?: number; // 逾期天數
|
||||||
baseMasteryLevel?: number; // 基礎熟悉度
|
baseMasteryLevel?: number; // 基礎熟悉度
|
||||||
lastReviewDate?: string; // 最後復習日期
|
lastReviewDate?: string; // 最後復習日期
|
||||||
synonyms?: string[]; // 同義詞 (暫時保留mock格式)
|
synonyms?: string[]; // 同義詞 (向後兼容)
|
||||||
difficulty?: string; // CEFR等級 (暫時保留mock格式)
|
exampleImage?: string; // 例句圖片 (向後兼容)
|
||||||
exampleImage?: string; // 例句圖片 (暫時保留mock格式)
|
// 注意:difficultyLevel已在基礎Flashcard接口中定義
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function LearnPage() {
|
export default function LearnPage() {
|
||||||
|
|
@ -1042,7 +1042,7 @@ export default function LearnPage() {
|
||||||
詞彙選擇
|
詞彙選擇
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1155,7 +1155,7 @@ export default function LearnPage() {
|
||||||
例句填空
|
例句填空
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1324,7 +1324,7 @@ export default function LearnPage() {
|
||||||
詞彙聽力 (暫時不上線)
|
詞彙聽力 (暫時不上線)
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1435,7 +1435,7 @@ export default function LearnPage() {
|
||||||
例句口說
|
例句口說
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1504,7 +1504,7 @@ export default function LearnPage() {
|
||||||
例句聽力
|
例句聽力
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1613,7 +1613,7 @@ export default function LearnPage() {
|
||||||
例句重組
|
例句重組
|
||||||
</h2>
|
</h2>
|
||||||
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
<span className="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">
|
||||||
{currentCard.difficulty}
|
{currentCard.difficultyLevel}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue