Some checks failed
Security / deep-security-scan (push) Failing after 20m5s
DR Drill / dr-drill (push) Failing after 1m31s
CI / scheduled-backup (push) Failing after 1m31s
CI / backup-verify (push) Has been skipped
CI / weekly-dr-drill (push) Failing after 0s
CI / build-deploy (push) Has been cancelled
CI / security-scan (push) Has been cancelled
主要变更: - 新增 lesson-preparation 模块: 备课编辑器、节点编辑、AI 建议、知识点选择、版本历史、作业发布 - 新增 shared 通用组件: charts/question-bank-filters/schedule-list/ui (chip-nav/filter-bar/page-header/stat-card/stat-item) - 新增 student/admin 端 loading.tsx 与 error.tsx, 优化加载与错误态体验 - 新增 teacher/lesson-plans 页面 (列表/新建/编辑) - 新增 drizzle 迁移 0002_tiny_lionheart 及 snapshot - 新增 textbooks/schema.ts 与 exams/utils/normalize-structure.ts - 修复 Tiptap v3 SSR hydration 崩溃 (rich-text-block immediatelyRender: false) - 重构多模块 data-access/actions/组件, 修复权限校验与类型规范 - 同步架构文档 004/005 反映新增模块、导出、依赖关系 - 归档 bugs/* 测试报告与 e2e 测试脚本 (admin/parent/student/teacher web_test)
24 KiB
24 KiB
<html class="light" lang="en"><head>
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
<script id="tailwind-config">
tailwind.config = {
darkMode: "class",
theme: {
extend: {
"colors": {
"surface-container-highest": "#e4e2e2",
"error-container": "#ffdad6",
"primary-fixed": "#d4e3ff",
"primary": "#005dac",
"secondary-fixed-dim": "#ffb786",
"primary-fixed-dim": "#a5c8ff",
"secondary": "#964900",
"primary-container": "#1976d2",
"surface-container-low": "#f5f3f3",
"on-tertiary-fixed": "#002204",
"on-surface-variant": "#414752",
"on-surface": "#1b1c1c",
"tertiary": "#0d6c1e",
"on-primary-fixed-variant": "#004786",
"inverse-surface": "#303031",
"secondary-container": "#fc820c",
"on-secondary-fixed-variant": "#723600",
"surface": "#fbf9f8",
"error": "#ba1a1a",
"background": "#fbf9f8",
"on-primary-fixed": "#001c3a",
"on-secondary-fixed": "#311300",
"on-primary-container": "#fffdff",
"outline-variant": "#c1c6d4",
"on-tertiary": "#ffffff",
"tertiary-fixed": "#9df898",
"on-error-container": "#93000a",
"surface-variant": "#e4e2e2",
"tertiary-container": "#2f8635",
"surface-container-lowest": "#ffffff",
"on-tertiary-fixed-variant": "#005312",
"surface-tint": "#005faf",
"on-background": "#1b1c1c",
"surface-bright": "#fbf9f8",
"outline": "#717783",
"on-tertiary-container": "#fdfff7",
"inverse-primary": "#a5c8ff",
"on-secondary-container": "#5e2c00",
"on-secondary": "#ffffff",
"surface-dim": "#dbdad9",
"surface-container": "#efeded",
"secondary-fixed": "#ffdcc6",
"on-primary": "#ffffff",
"on-error": "#ffffff",
"tertiary-fixed-dim": "#82db7e",
"surface-container-high": "#e9e8e7",
"inverse-on-surface": "#f2f0f0"
},
"borderRadius": {
"DEFAULT": "0.125rem",
"lg": "0.25rem",
"xl": "0.5rem",
"full": "0.75rem"
},
"spacing": {
"xl": "32px",
"sidebar_width": "80px",
"sidebar_width_hover": "280px",
"grid_columns": "12",
"gutter": "24px",
"2xl": "48px",
"xs": "8px",
"md": "16px",
"lg": "24px",
"sm": "12px",
"base": "4px"
},
"fontFamily": {
"title-lg": ["Inter"],
"display-lg": ["Inter"],
"code-md": ["JetBrains Mono"],
"body-lg": ["Inter"],
"headline-lg-mobile": ["Inter"],
"headline-md": ["Inter"],
"label-md": ["Inter"],
"headline-lg": ["Inter"],
"title-md": ["Inter"],
"body-md": ["Inter"]
},
"fontSize": {
"title-lg": ["20px", { "lineHeight": "28px", "fontWeight": "600" }],
"display-lg": ["48px", { "lineHeight": "56px", "letterSpacing": "-0.02em", "fontWeight": "700" }],
"code-md": ["14px", { "lineHeight": "20px", "fontWeight": "400" }],
"body-lg": ["16px", { "lineHeight": "26px", "fontWeight": "400" }],
"headline-lg-mobile": ["24px", { "lineHeight": "32px", "fontWeight": "600" }],
"headline-md": ["24px", { "lineHeight": "32px", "fontWeight": "600" }],
"label-md": ["12px", { "lineHeight": "16px", "letterSpacing": "0.05em", "fontWeight": "500" }],
"headline-lg": ["32px", { "lineHeight": "40px", "letterSpacing": "-0.01em", "fontWeight": "600" }],
"title-md": ["16px", { "lineHeight": "24px", "fontWeight": "600" }],
"body-md": ["14px", { "lineHeight": "22px", "fontWeight": "400" }]
}
}
}
}
</script>
<style>
.text-reading-chinese {
font-family: "KaiTi", "STKaiti", serif;
line-height: 2.2;
letter-spacing: 0.05em;
}
.annotation-highlight-yellow {
background-color: rgba(252, 130, 12, 0.2);
border-bottom: 2px dashed #fc820c;
transition: all 0.2s ease;
}
.annotation-highlight-yellow.active {
background-color: rgba(252, 130, 12, 0.4);
box-shadow: 0 0 0 2px rgba(252, 130, 12, 0.5);
}
.annotation-highlight-green {
background-color: rgba(47, 134, 53, 0.15);
border-bottom: 2px dashed #2f8635;
transition: all 0.2s ease;
}
.annotation-highlight-green.active {
background-color: rgba(47, 134, 53, 0.3);
box-shadow: 0 0 0 2px rgba(47, 134, 53, 0.5);
}
.floating-toolbar {
box-shadow: 0px 4px 12px rgba(0,0,0,0.08);
backdrop-filter: blur(8px);
}
.node-canvas-bg {
background-image: radial-gradient(var(--tw-colors-outline-variant) 1px, transparent 1px);
background-size: 24px 24px;
background-position: -12px -12px;
}
Curriculum
Standards
Analytics
</html>
.sidebar-collapsed {
width: 80px;
transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-collapsed:hover {
width: 280px;
}
.sidebar-collapsed .sidebar-text {
opacity: 0;
transform: translateX(-10px);
transition: opacity 0.2s ease, transform 0.2s ease;
white-space: nowrap;
}
.sidebar-collapsed:hover .sidebar-text {
opacity: 1;
transform: translateX(0);
transition-delay: 0.1s;
}
.sidebar-collapsed .sidebar-header-compact {
display: flex;
transition: opacity 0.2s ease;
}
.sidebar-collapsed:hover .sidebar-header-compact {
display: none;
opacity: 0;
}
.sidebar-collapsed .sidebar-header-full {
display: none;
opacity: 0;
transition: opacity 0.2s ease;
}
.sidebar-collapsed:hover .sidebar-header-full {
display: flex;
opacity: 1;
transition-delay: 0.1s;
}
.connection-line {
stroke-dasharray: 6 6;
animation: dash 20s linear infinite;
}
@keyframes dash {
to {
stroke-dashoffset: -100;
}
}
</style>
</head>
Chinese Education Suite
《秋天》 (Autumn)
Grade 1
format_ink_highlighter
format_underlined
add_comment
《秋天》
天气凉了,树叶黄了,一片片叶子从树上落下来。 天空那么蓝,那么高。
一群大雁往南飞,一会儿排成个“人”字,一会儿排成个“一”字。 啊!秋天来了!
lightbulb
Select text and hold Shift to create a new node
Language Feature
more_horiz
"天空那么蓝,那么高。"
Note: Focus on repetition of "那么".
Action Suggestion
more_horiz
"啊!秋天来了!"
Language Feature
close
"天空那么蓝,那么高。"
Instructional Notes
Focus on the repetition of "那么" (so) to emphasize the vastness of the autumn sky. Guide students to read with a prolonged, airy tone.
Tags
朗读指导
add Add Tag