feat: fold dasha periods and redraw the western wheel
The dasha tab leads with a now card and a duration bar, and keeps sub-periods inside the current details element. A zero-year Chara row stays grey, shows 0 年, and cannot expand. The tropical wheel uses a 520 view box, element bands, separated planet labels, and aspect lines that stay visible while a selected body is highlighted.
This commit is contained in:
@@ -920,6 +920,35 @@ Three product rules for assistant markdown in `.message-markdown` (BUG-962 / 963
|
||||
|
||||
0 年大运照实显示,不改引擎。某段 Chara 的 `duration_years` 为 0 时,这一段标注「0 年」,起止落在同一天,不占时间轴,也不展开子运;子运区写「本段时长为 0,不展开」。前一段的结束日就是下一段的开始日。
|
||||
|
||||
### 大运 Tab(2026-09-25)
|
||||
|
||||
每条轨道自上而下是「现在」卡、时间条、可折叠大运列表。≥1024 时 Vimshottari 在左、Chara 在右;更窄则上下排。底部仍是那句双轨说明。
|
||||
|
||||
「现在」卡三行:大运、小运、小运剩余 N 个月。月份按排盘所用的 `asOf` 到当前小运结束日的整月数,结束日当天不往下减。没有落入的时段写「未落入已返回的时段」,没有小运写「—」。
|
||||
|
||||
时间条只画时长大于 0 的段,宽度按时长。当前段用主文字色内描边,一条竖线标 `asOf`。两端是 `YYYY.MM`。0 年段不进这条轴。段色轮换现有的浅底 token(`--color-action-soft`、`--color-success-muted`、`--color-canvas-strong`、`--color-danger-muted`、`--color-selected`、`--color-canvas-muted`),不新造一套色。
|
||||
|
||||
列表用原生 `<details>` / `<summary>`。只有当前段带 `open`。子运一行是「名称 · YYYY.MM – YYYY.MM」,日期 `tabular-nums` 靠右,当前子运用主文字色。`summary` 与子运行高 44px。未展开的子运列表用 `details:not([open]) > ul { display: none }` 收起。0 年段不是 `<details>`,文字用 `--color-ink-tertiary`,只写「0 年」和「本段时长为 0,不展开」。
|
||||
|
||||
### 西洋盘 Tab(2026-09-25)
|
||||
|
||||
盘 `viewBox` 是 `0 0 520 520`,容器 `width: 100%`、`max-width: 520px`、水平居中。三圈:外圈星座、中圈行星、内圈宫位号。骨架模式只画这三圈和 12 条星座分割线,不画星座名、行星、宫位号、相位。
|
||||
|
||||
星座环按元素填色,token 在 `:root` 与两套暗色里各一份:
|
||||
|
||||
| token | 亮色 | 暗色 | 星座 |
|
||||
| --- | --- | --- | --- |
|
||||
| `--color-element-fire` | `#f4d3c3` | `#5a3a32` | 白羊、狮子、射手 |
|
||||
| `--color-element-earth` | `#e7dfc6` | `#4a4636` | 金牛、处女、摩羯 |
|
||||
| `--color-element-air` | `#d5e2f2` | `#2e3c4e` | 双子、天秤、水瓶 |
|
||||
| `--color-element-water` | `#d3e6e8` | `#2a4448` | 巨蟹、天蝎、双鱼 |
|
||||
|
||||
星座名用 `--color-ink`。这四个填色不是通用文字底,三级字和强调色不铺在上面。相位:合 / 六分 / 三分用 `--color-success`,刑 / 冲用 `--color-danger`。组件里不写死色值。
|
||||
|
||||
行星标的是符号加星座内整度,逆行再加 ℞。字号 17(viewBox 单位),在 375px 宽的盘上仍不低于 12px。相邻显示角小于 11° 时沿黄经推开。推开后同一半径的字框仍会叠,就改用第二层半径(188 与 136),不再把字号降到 12 以下。真实位置在星座环内缘留刻度,并用细线连到显示位置。宫位号放在宫头到下一宫头的中点,不压在宫头线上。1 / 4 / 7 / 10 宫头加粗。ASC、MC 写在盘内;不再画盘外的「升」。`view.western` 没有 MC 字段,MC 用第 10 宫头。
|
||||
|
||||
相位线一直画着。点行星或行星位置表的一行,只留下该星和它的相位,其余变淡;再点取消。相位表同步只列该星。右栏顺序:要点 chips(上升、太阳、月亮、元素最多、星群)→ 行星位置表 → 主要相位表 → 口径说明。星群是同一星座里至少 3 颗行星,由现有 `planets` 数出来,不是新字段。表用 `.chart-page-western-table`,不继承 `min-width: 34rem`,外包 `.chart-page-western-table-wrap`(`min-width: 0`、`overflow-x: auto`)。断点仍是 1024。
|
||||
|
||||
### 等待态
|
||||
|
||||
2026-09-24 产品决策有限推翻 09-18 方案一(BUG-716 / 966):`SecondaryPageShell` 标题、note 槽与撑满内容区不变,主盘未到时正常渲染 body 和禁用的 Tab 行;仅 D1、非 D1 分盘与西洋盘位置显示既有 SVG 空模型的骨架与原等待句。骨架无星体、度数、星座标签,几何不得复制;容器 `aria-busy=true`,装饰盘对读屏隐藏。中性 token、opacity 0.35 ↔ 0.6 / 2.4s ease-in-out,减弱动态效果时静止 0.5;不旋转、不扫光。大运、七政表格仍为静态句,首页、侧栏、星历、报告不适用此例外。首次请求(含预取)和按需层均有 25 秒客户端期限;失败移除骨架,再点该 Tab/chip 清失败并重试。401 先显式呈现登录句再跳转。同一会话再次进入直接用模块缓存,不重放等待句。出生资料保存成功后,缓存按账户和资料指纹换键,旧盘不得留在页上冒充新的日期或时间。
|
||||
|
||||
Reference in New Issue
Block a user