fix(people,ephemeris): style /people and make the ephemeris readable (BUG-1039)

- /people had zero CSS rules for its people-archive classes. Add the
  approved layout: list -> detail below 1024px (data-view, ?person= history
  entry so Back returns to the list), two columns at 1024px and above;
  avatar rows with the current person highlighted, time cards with a
  rectified state, readable ayanamsa name, three quick actions; delete moves
  to the bottom of the edit view with unchanged confirm/count logic.
- Ephemeris: Chinese-first panchanga names from the brief's table only
  (panchanga-names-zh.ts, three listed aliases, unknown names stay
  Sanskrit), coloured 吉/中/凶 tags, N吉/M凶 counts and a fixed-rule day
  summary (pure function, no model call); the header ask button becomes a
  bottom hint card; transit rows show glyph, 「行星 在 星座」, house line and
  degree; the Lahiri note names the subject's own ayanamsa.
- API, engine and database unchanged; /people and /ephemeris stay Static.
- DESIGN, VOICE, BUG_HISTORY, CHANGELOG, BLOCKED, PROGRESS and a manual
  checklist updated. Two existing assertions changed, with 原值/新值/原因.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-26 06:58:41 +08:00
co-authored by Claude Opus 5.5
parent 13c70a162a
commit 2981da6fbc
18 changed files with 1942 additions and 191 deletions
+14
View File
@@ -13884,3 +13884,17 @@
- 防复发:BUG 记录写明这是死代码删除,不是年运算法变更。
- 相关记录:BUG-1028。
- 修复版本:`codex/round-0925-followup-20260925`,未部署。
## BUG-1039 | 星盘档案页 `/people` 没有任何样式
- 状态:investigating(已修复待部署;未在登录态真机复测)
- 首次发现 / 最近更新:2026-09-26 / 2026-09-26
- 影响面:`/people` 星盘档案页(列表、详情、添加/编辑、删除确认)。同轮顺带改星历页可读性(非 Bug,见任务书 D5–D10)。
- 用户现象:iPhone Safari 上名字、「本人」、另一人的名字和时间挤在一行,「添加一个人」悬在中间,详情字段是裸文字。
- 触发条件:打开 `/people`,任何账户、任何宽度。
- 根因:`frontend/src/components/people/people-page.tsx` 用了 `people-archive`、`people-archive-list`、`people-archive-detail`、`people-archive-row` 等类,`frontend/src/app/globals.css` 里没有一条对应规则。实现 BUG-1030 那一轮没写样式;验收只有源码断言和组件探针,没有登录态,这一页从未在真实浏览器里看过。
- 修复:按原型补齐 `/people` 样式与布局:小于 1024px 列表 → 详情(同路由切视图,顶部「‹ 返回」,并压一条 `?person=` 历史记录让浏览器返回回到列表);1024px 及以上左列表右详情。列表行是首字头像 + 名字(本人加「本人」标签)+ 等宽一行「出生日期 · 排盘时间 · 城市」+「›」,当前人物用强调色边与浅底;底部虚线「+ 添加一个人」与「还可以保存 N 个人」。详情是头部 + 两格时间卡(有校正结果时排盘卡走成功色并标「已校正」)+ 出生日期与中文岁差名 + 三个快捷入口;本人底部灰字「本人不能删除」,他人的删除挪进编辑视图底部,删除确认与计数逻辑不变。头像颜色按 id 取元素色 token。
- 验证:`tests/people-archive-view.test.tsx`(行结构、当前人物高亮、时间卡与已校正、本人无删除、删除只在编辑视图、组件里每个 `people-archive*` 类在 `globals.css` 都有规则、触控 44px、1023/1024 切换);本地 `next start` + 临时宿主页(虚构数据,未提交)在 Chrome 151 375 / 390 / 1280、亮 / 暗下截图,并用 CDP 验证列表 → 详情 → 浏览器返回 / 「‹ 返回」、无横向滚动、可见按钮均不低于 44px。
- 防复发:新增「组件用到的每个 `people-archive*` 类都必须在 `globals.css` 有规则」的合同测试,这类「写了类没写样式」的回归会在测试里失败。验收流程缺口:无登录态页面只做源码断言等于没看过页面;本轮起此类页面至少用本地宿主页在真实浏览器里截一次图,写进 PROGRESS。
- 相关记录:BUG-1030(本页由其引入)。
- 修复版本:`codex/people-ephemeris-ui-20260926`,未部署。