diff --git a/client/src/views/practice/PracticeView.vue b/client/src/views/practice/PracticeView.vue index 3579204..70b5638 100644 --- a/client/src/views/practice/PracticeView.vue +++ b/client/src/views/practice/PracticeView.vue @@ -209,13 +209,13 @@ const subtitle = computed(() => { :class="{ 'module-card--active': activeModule === m.name }" @click="selectModule = m.name" > -
+ {{ m.name }} -
-
+ + {{ m.total }} 题 · { > 掌握度 {{ formatPercent(masteryByModule.get(m.name) ?? 0) }} -
+ @@ -260,10 +260,10 @@ const subtitle = computed(() => {
-
+ {{ r.reason }} {{ formatPercent(r.percent) }} -
+
@@ -282,15 +282,15 @@ const subtitle = computed(() => { class="pending-item" :to="{ name: 'practice-wrong' }" > -
+ {{ item.module }} {{ item.subModule }} -
+
{{ item.stem }}
-
+ {{ item.wrongReason }} 已复习 {{ item.reviewCount }} 次 -
+
@@ -372,13 +372,13 @@ const subtitle = computed(() => { class="wrong-book-item" :to="{ name: 'practice-wrong-detail', params: { id: item.id } }" > -
+
{{ item.module }} {{ item.subModule }}
{{ wrongStatusLabel(item.status) }} -
+

{{ item.stem }}

错因 · {{ item.wrongReason }} @@ -462,9 +462,8 @@ const subtitle = computed(() => { box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 14%, transparent); } .module-card__row { - display: flex; - align-items: center; - justify-content: space-between; + --stack-align: center; + --stack-justify: space-between; } .module-card__name { font-size: var(--fs-card-title); @@ -481,9 +480,7 @@ const subtitle = computed(() => { color: var(--on-accent); } .module-card__meta { - display: flex; - align-items: center; - gap: var(--space-1); + --stack-align: center; font-size: var(--fs-label); color: var(--text-secondary); } @@ -531,9 +528,8 @@ const subtitle = computed(() => { gap: var(--space-3); } .reason-bar__row { - display: flex; - align-items: center; - justify-content: space-between; + --stack-align: center; + --stack-justify: space-between; margin-bottom: var(--space-1); font-size: var(--fs-subtitle); } @@ -579,9 +575,7 @@ const subtitle = computed(() => { padding-block: var(--space-1); } .pending-item__meta { - display: flex; - align-items: center; - gap: var(--space-2); + --stack-align: center; font-size: var(--fs-label); } .pending-item__module { @@ -601,9 +595,8 @@ const subtitle = computed(() => { overflow: hidden; } .pending-item__foot { - display: flex; - align-items: center; - justify-content: space-between; + --stack-align: center; + --stack-justify: space-between; font-size: var(--fs-label); color: var(--text-secondary); } @@ -679,10 +672,8 @@ const subtitle = computed(() => { box-shadow: var(--shadow-level-1); } .wrong-book-item__head { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-2); + --stack-align: center; + --stack-justify: space-between; } .wrong-book-item__tags { display: flex;