From da18f99863756d03f91fcf6f2414b374208f8503 Mon Sep 17 00:00:00 2001 From: ittoview Date: Sat, 7 Mar 2026 15:24:31 +0000 Subject: [PATCH] =?UTF-8?q?feat(=E7=BB=83=E4=B9=A0):=20=E7=AD=94=E5=AF=B9?= =?UTF-8?q?=E5=90=8E=E6=98=BE=E7=A4=BAITTO=E6=98=8E=E7=BB=86=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PracticeItem 接口添加 originalData 字段保留原始数据 - practiceItems 构建时保存完整的 detail/nameEn/note 信息 - PracticeList 答对状态下显示英文名称、明细列表、备注 via [HAPI](https://hapi.run) Co-Authored-By: HAPI --- src/pages/ProcessDetailPage.tsx | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/pages/ProcessDetailPage.tsx b/src/pages/ProcessDetailPage.tsx index 0eab0ec..ffea65b 100644 --- a/src/pages/ProcessDetailPage.tsx +++ b/src/pages/ProcessDetailPage.tsx @@ -14,6 +14,7 @@ interface PracticeItem { section: IttoSection name: string normalizedAnswer: string + originalData: any // 保留原始数据(包含 detail、nameEn、note) } const STORAGE_KEY = 'ittoview:process-detail:itto-visibility' @@ -75,6 +76,7 @@ export function ProcessDetailPage() { section, name, normalizedAnswer: normalizeAnswer(name, false), + originalData: d, // 保留原始数据 } }) } @@ -736,6 +738,8 @@ function PracticeList({ {items.map((item) => { const isAnswered = answeredItems.has(item.id) const isCurrent = item.id === currentPracticeId + const data = item.originalData + const hasDetail = data?.detail && data.detail.length > 0 return (
  • @@ -753,9 +757,31 @@ function PracticeList({ onPointerCancel={isCurrent ? onLongPressEnd : undefined} > {isAnswered ? ( -
    - {item.name} - +
    +
    + {item.name} + +
    + {data?.nameEn && ( +
    + {data.nameEn} +
    + )} + {hasDetail && ( +
    + {data.detail.map((detailItem: any, idx: number) => ( + + {detailItem.label} + {idx < data.detail.length - 1 && '、'} + + ))} +
    + )} + {data?.note && ( +
    + 💡 {data.note} +
    + )}
    ) : isCurrent && showAnswer ? (