feat(shared): add UI components, hooks, form fields, and action utils

- Add UI components: confirm-delete-dialog, empty-table-row, list-pagination, pagination, status-badge

- Add form-fields directory for reusable form field components

- Add hooks: use-action-mutation, use-action-query for server action integration

- Add action-utils lib for action state helpers

- Update a11y components, charts, global-search, onboarding-gate, question components

- Update UI components: chip-nav, filter-bar, page-header, stat-card, stat-item, switch, table

- Update hooks: use-action-with-toast, use-aria-live, use-debounce, use-local-storage, use-media-query, use-permission

- Update lib: a11y, ai, audit-logger, auth-guard, bcrypt-utils, change-logger, download, excel, file-storage, http-utils, login-logger, password-policy, password-security-service, permissions, rate-limit, role-utils, search-params, session, storage-provider

- Update types: action-state, permissions

- Update i18n messages (en, zh-CN) for dashboard, diagnostic, grades, lesson-preparation, settings
This commit is contained in:
SpecialX
2026-06-23 17:38:14 +08:00
parent 9ceb2b7b67
commit c4d3433cc9
25 changed files with 1986 additions and 28 deletions

View File

@@ -34,9 +34,17 @@
"chart": {
"radarTitle": "知识点掌握度",
"radarDescription": "掌握度雷达图(学生 vs 班级平均)",
"radarDescriptionNonEmpty": "各知识点掌握度0-100雷达图。",
"heatmapTitle": "知识点掌握度热力图",
"rankingTitle": "知识点排名",
"noMasteryData": "暂无知识点掌握度记录"
"noMasteryData": "暂无知识点掌握度记录",
"noMasteryDataForStudent": "暂无该学生的知识点掌握度记录。",
"radarEmptyTitle": "暂无掌握度数据",
"radarAriaLabelEmpty": "知识点掌握度雷达图:暂无数据",
"radarAriaLabelNonEmpty": "知识点掌握度雷达图:共 {count} 个知识点的掌握度{withClassAverage}",
"withClassAverage": "(含班级平均对比)",
"studentSeries": "学生",
"classAvgSeries": "班级平均"
},
"report": {
"generate": "生成诊断报告",
@@ -44,6 +52,7 @@
"generateClass": "生成班级诊断报告",
"publish": "发布",
"delete": "删除",
"export": "导出",
"publishTitle": "发布报告",
"publishConfirmation": "确定要发布此报告吗?发布后将对相关人员可见。",
"deleteTitle": "删除报告",
@@ -82,6 +91,99 @@
"publishFailed": "发布失败",
"deleteFailed": "删除失败",
"loadFailed": "加载失败",
"exportFailed": "导出失败",
"retry": "重试"
},
"classDiagnostic": {
"noClassDataTitle": "暂无班级数据",
"heatmapDescription": "各知识点平均掌握度绿色≥80%优秀黄色60-79%良好橙色40-59%待提升,红色<40%薄弱)。",
"noKnowledgePointData": "暂无知识点数据。",
"heatmapAriaLabel": "知识点掌握度热力图,共 {count} 个知识点颜色表示掌握度等级绿色≥80%优秀黄色60-79%良好橙色40-59%待提升,红色<40%薄弱",
"masteryLevelExcellent": "优秀",
"masteryLevelGood": "良好",
"masteryLevelNeedsImprovement": "待提升",
"masteryLevelWeak": "薄弱",
"legendLabel": "颜色图例",
"noRankingData": "暂无数据。",
"knowledgePointColumn": "知识点",
"avgMasteryColumn": "平均掌握度",
"masteredColumn": "已掌握≥80%",
"notMasteredColumn": "未掌握(<60%",
"studentsNeedingAttentionTitle": "需重点关注的学生(平均<60%",
"studentsNeedingAttentionDescription": "掌握度较低的学生。",
"allStudentsAboveThreshold": "所有学生的掌握度均高于关注阈值。",
"weakPointsColumn": "薄弱点",
"viewAction": "查看",
"viewAriaLabel": "查看 {studentName} 的诊断详情",
"filterByKpTitle": "按知识点筛选学生",
"filterByKpDescription": "选择知识点查看班级所有学生在此知识点上的掌握度,便于针对性辅导。",
"kpFilterLabel": "选择知识点",
"kpFilterPlaceholder": "请选择知识点",
"kpFilterAll": "全部知识点",
"filtering": "筛选中...",
"totalQuestionsColumn": "总题数",
"correctQuestionsColumn": "正确数",
"statusColumn": "状态",
"needsAttention": "需关注",
"mastered": "已掌握",
"noStudentsForKp": "该知识点暂无学生掌握度数据。",
"generateDescription": "生成包含汇总分析的班级诊断报告。",
"periodLabel": "周期YYYY-MM",
"generating": "生成中...",
"generateButton": "生成班级报告"
},
"reportList": {
"caption": "学情诊断报告列表",
"typeColumn": "类型",
"studentTargetColumn": "学生 / 目标",
"periodColumn": "周期",
"scoreColumn": "得分",
"statusColumn": "状态",
"generatedByColumn": "生成者",
"dateColumn": "日期",
"actionsColumn": "操作",
"classReportPlaceholder": "(班级报告)",
"gradeReportPlaceholder": "(年级报告)",
"noReportsDescription": "生成诊断报告后将显示在此处。",
"publishConfirmation": "发布后报告将对相关学生可见。确定要发布吗?",
"publishAriaLabel": "发布报告 {studentName}",
"deleteAriaLabel": "删除报告 {studentName}",
"exportAriaLabel": "导出报告 {studentName}",
"exportSuccess": "报告已导出",
"share": "分享",
"shareAriaLabel": "分享报告 {studentName}",
"shareTitle": "分享报告",
"shareDescription": "复制报告链接分享给学生或家长。",
"shareLinkLabel": "报告链接",
"copyLink": "复制链接",
"copyLinkSuccess": "链接已复制",
"copyLinkFailed": "复制链接失败",
"shareLinkAriaLabel": "报告分享链接",
"confidenceColumn": "置信度",
"confidenceHigh": "高",
"confidenceMedium": "中",
"confidenceLow": "低",
"confidenceInsufficient": "数据不足",
"confidenceHighHint": "数据充足,报告结论可靠",
"confidenceMediumHint": "数据量一般,建议结合其他信息参考",
"confidenceLowHint": "数据量较少,结论仅供参考",
"confidenceAriaLabel": "数据置信度:{level}"
},
"studentDiagnostic": {
"noDataDescription": "无法加载学生掌握度数据。",
"strengthsDescription": "掌握度较高的知识点。",
"weaknessesDescription": "需要关注的知识点。",
"diagnosticReportTitle": "诊断报告",
"overallLabel": "总体",
"historyDescription": "历史诊断报告(按时间倒序)。",
"untitledPeriod": "未命名周期",
"strengthsListAriaLabel": "优势知识点列表",
"weaknessesListAriaLabel": "薄弱知识点列表",
"recommendationsListAriaLabel": "学习建议列表",
"practiceAriaLabel": "练习知识点:{name}",
"noStrengths": "暂无强项知识点。",
"noWeaknesses": "暂无弱项知识点。",
"reportMeta": "周期:{period} · 总体:{score}%",
"historyReportMeta": "{date} · 总体:{score}%"
}
}