diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 1598809a..55538834 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -20741,4 +20741,4 @@ - 防复发:上面的测试。规则:用 `:not(:has(...))` 隐藏一类元素时,要放出的例外必须写到同等或更高优先级,不能靠元素选择器。 - 相关记录:BUG-1470(顶栏高度与两行问题);同一变更是 2026-11-02 顶栏控件统一 44px 与选择星盘改版。 - 复发自:无 -- 修复版本:分支 `codex/chart-polish-1102`(基于 `origin/staging` cb0a6289),待合并。 +- 修复版本:提交 1cd73bc8(分支 `codex/chart-polish-1102`),2026-11-02 推上 staging。 diff --git a/frontend/src/components/credit-balance-button.tsx b/frontend/src/components/credit-balance-button.tsx index 8b6f6010..86dd656c 100644 --- a/frontend/src/components/credit-balance-button.tsx +++ b/frontend/src/components/credit-balance-button.tsx @@ -1,13 +1,12 @@ "use client"; -import { Orbit } from "lucide-react"; import { useEffect, useRef, useState, type MouseEvent } from "react"; import { Button } from "@/components/ui/button"; import { motionPresets } from "@/lib/motion/presets"; /** - * The top bar's points control (2026-11-02): an orbit, not a money sign, in the action colour, + * The top bar's points control (2026-11-02): a ringed planet, not a money sign, in the action colour, * the balance, then 「点」. As tall as the person chip beside it (globals.css * `--chat-header-pill`); the hit area is at least 44px. */ @@ -22,13 +21,23 @@ export function CreditBalanceButton({ }) { return ( ); } +/** Lucide-style stroke icon. Not Lucide's Orbit: that one already means 「星盘」 in the sidebar and chat toggle. */ +function RingedPlanet({ className }: { readonly className?: string }) { + return ( + + ); +} + function RollingValue({ value }: { readonly value: number | null }) { const [roll, setRoll] = useState({ value, direction: 1 }); const nodeRef = useRef(null); diff --git a/frontend/tests/chat-header-pills-and-quiet-cards-20261102.test.tsx b/frontend/tests/chat-header-pills-and-quiet-cards-20261102.test.tsx index fc80cf55..b694c4ff 100644 --- a/frontend/tests/chat-header-pills-and-quiet-cards-20261102.test.tsx +++ b/frontend/tests/chat-header-pills-and-quiet-cards-20261102.test.tsx @@ -113,9 +113,12 @@ test("the person chip and the points pill share one top-bar height token, deskto assert.match(pointsBody, /display:\s*inline-flex/); assert.match(pointsBody, /align-items:\s*center/); assert.match(pointsBody, /border-radius:\s*999px/); - // No money sign on the points pill: an orbit stands in for the coin. + // No money sign on the points pill: a ringed planet stands in for the coin. + // 原值: ; 新值: ; + // 原因: Orbit already marks 星盘 (sidebar, chat chart toggle), so two orbits sat side by side on phones. const button = read("../src/components/credit-balance-button.tsx"); - assert.match(button, /