Skip to content

feat(schedule): simplify calendar home and detail chrome - #304

Merged
gac0812 merged 8 commits into
1024XEngineer:mainfrom
gac0812:feat/schedule-home-ui
Aug 20, 2026
Merged

feat(schedule): simplify calendar home and detail chrome#304
gac0812 merged 8 commits into
1024XEngineer:mainfrom
gac0812:feat/schedule-home-ui

Conversation

@gac0812

@gac0812 gac0812 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • 日历主页去掉「我的日程 / 当日安排 / 位置触发」等多余标签,选中日期与账号区同一行;列表标题改为「今日安排」或「M月D日的安排」,过去日期空状态不再提示添加
  • 时段卡片改为左侧时间 + 中间轴线、等高白卡片;地点卡片去掉「位置日程」标签
  • 详情 sheet 去掉类型 badges,并校正分区图标垂直居中
  • 列表不展示分类;详情「分类」用普通文案,不用 tag

未包含 mock 预览数据、mock 语音助手、登录预填等非 UI 改动。

Closes #308

Test plan

  • 打开日历主页:顶部只有日期 + 账号,没有「我的日程」
  • 今天显示「今日安排」;切到其他日期显示「M月D日的安排」
  • 过去日期空状态标题为「这一天是属于你的」,且没有添加提示
  • 多条时段日程左侧轴线连成一条,卡片等高,开始/结束时间上下排列且无「至」
  • 地点提醒区只有「地点提醒」,卡片无「位置日程」标签,也无分类
  • 打开详情:没有「时间日程 / 一次性 / 全天 / 地点日程」整行 badges;时间卡片里的「全天」仍在
  • 打开详情:有分类时显示「分类」+ 文案(如「工作」),不是 tag;列表卡片上看不到分类

Verification

cd frontend
npx jest --runInBand tests/unit/features/schedule/presentation/ScheduleCalendarScreen.test.tsx tests/unit/features/schedule/presentation/ScheduleRows.test.tsx tests/unit/features/schedule/presentation/ScheduleDetailSheet.test.tsx tests/unit/features/schedule/presentation/scheduleDisplay.test.ts

本地结果:Test Suites: 4 passedTests: 31 passed

覆盖要点:

  • 主页:无「我的日程 / 当日安排 / 位置触发」;今天「今日安排」;其他日期「M月D日的安排」
  • 空状态:过去日「这一天是属于你的」,无添加提示;今天/未来仍保留添加说明
  • 时段行:时间上下排列且无「至」;非末行轴线延伸;卡片固定 height: 88;无分类
  • 地点行:无「位置日程」、无分类
  • 详情:无「时间日程 / 周期日程 / 一次性」整行 badges;全天状态仍在时间卡片中;分类为普通文案

设计对照

截图由作者提供,不进源码树,只作为 Review 附件:

日历主页(今天有日程)

改前(「我的日程」+「当日安排 / 日程」):

改前-主页

改后(日期与账号同一行,「今日安排」,左侧轴线):

改后-主页

时段列表 + 地点提醒

改前(「至」、位置触发、「位置日程」标签):

改前-列表

改后(时间轴 + 等高卡片,仅「地点提醒」):

改后-列表

过去日期空状态

改前(「这一天暂时没有日程」+ 添加提示):

改前-空状态

改后(「8月19日的安排」+「这一天是属于你的」):

改后-空状态

日程详情

改前(「时间日程 / 一次性 / 全天」badges):

改前-详情

改后(去掉类型 badges,时间卡片里仍保留「全天」):

改后-详情

列表不再展示分类、详情分类为文案:对比图待用户提供。

Keep the selected date beside account controls, connect occurrence cards with a timeline rail, and drop type badges from the agenda and detail sheets.
@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

日历标题、空状态和详情页徽标移除与 PR 描述一致;时段列表的新布局仍有两处会直接破坏“轴线连续、卡片等高”的目标。由于工作区未安装 frontend/node_modules,定向 Jest 无法加载 jest-expo,本次结论基于固定提交范围的完整 diff、调用方和样式布局检查。

View job run

Comment thread frontend/src/features/schedule/presentation/ScheduleOccurrenceRow.tsx Outdated
Comment thread frontend/src/features/schedule/presentation/ScheduleOccurrenceRow.tsx Outdated
Extend the timeline through row gaps and give occurrence cards a fixed height so wrapping titles do not change the list rhythm.
Keep the simplified calendar chrome from this PR, and show schedule category as copy instead of restoring type badges.
Merging main made ScheduleOccurrenceView.category required, so the
calendar screen factory no longer typechecked.
Category belongs in the detail sheet as copy, not next to the list location.
@gac0812
gac0812 merged commit abd8193 into 1024XEngineer:main Aug 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ui): 简化日历首页与日程详情层级

2 participants