diff --git a/packages/app/src/components/MonthDivider.vue b/packages/app/src/components/MonthDivider.vue
new file mode 100644
index 0000000..895fcc1
--- /dev/null
+++ b/packages/app/src/components/MonthDivider.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+ {{ label }}
+
+
+
+
+
+
+
+ {{ hint }}
+
+
+
+
+
+
diff --git a/packages/app/src/components/NextSessionHero.vue b/packages/app/src/components/NextSessionHero.vue
new file mode 100644
index 0000000..dded23b
--- /dev/null
+++ b/packages/app/src/components/NextSessionHero.vue
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ dayNumber }}
+ {{ monthLabel }}
+ {{ weekdayLabel }}
+
+
+
+
+
+
+
+
+
+
+ {{ startTime }}
+ — {{ endTime }}
+
+
+ {{ cardName }}
+
+
+
+ {{ statusLabel }}
+ · {{ countdownText }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/app/src/components/SessionRow.vue b/packages/app/src/components/SessionRow.vue
new file mode 100644
index 0000000..717fec2
--- /dev/null
+++ b/packages/app/src/components/SessionRow.vue
@@ -0,0 +1,288 @@
+
+
+
+
+ {{ dayNumber }}
+ {{ weekdayLabel }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ startTime }}
+ — {{ endTime }}
+
+
+ {{ cardName }}
+
+
+
+
+ {{ statusLabel }}
+
+ 取消预约
+
+
+
+
+
+
+
+
diff --git a/packages/app/src/pages/profile/teaching-schedule.vue b/packages/app/src/pages/profile/teaching-schedule.vue
index 9fe7ac6..5b3c4a4 100644
--- a/packages/app/src/pages/profile/teaching-schedule.vue
+++ b/packages/app/src/pages/profile/teaching-schedule.vue
@@ -2,98 +2,88 @@
-
-
- Teaching Day
- 按日查看当天课程与学员
- 只显示你当天有学员的课程,按时间顺序一屏速览。
+
+
+
+ {{ monthLabel }}⌄
+
+
+ 今天
-
- {{ summary.slotCount }}
- 节课程
- {{ summary.studentCount }} 位学员
+
+
+ {{ weekLabel }}
+
+
+
+
-
-
-
-
- {{ dateLabel }}
-
-
- {{ summaryRangeLabel }}
-
-
+
+ {{ dateLabel }}
+ {{ loading ? '正在加载' : error ? '加载失败' : `${slots.length} 节课 · ${studentCount} 人次` }}
-
-
-
-
-
-
-
+
+
+
-
-
- 休
- 这一天没有已预约课程
- 当前只展示有学员的课程安排,空白日期不会出现占位时段。
+
+ 课表暂时未能加载
+ {{ error }}
+
-
-
-
-
-
-