Skip to content

feat: BadgeCount 增加 warning 与 brand 色调 - #41

Open
LittleSound wants to merge 1 commit into
felinics:mainfrom
LittleSound:feat/memoh-146-badge-count-tones
Open

LittleSound wants to merge 1 commit into
felinics:mainfrom
LittleSound:feat/memoh-146-badge-count-tones

Conversation

@LittleSound

@LittleSound LittleSound commented Oct 29, 2026 •

Copy link
Copy Markdown

Summary

给 BadgeCount 现有的 variant 增加两个可选色调,让计数能表达“有多急”,而不是只能在“红色警报”和“中性”之间二选一:

variant 颜色 用途
destructive(已有) 红底白字 有东西失败了、需要修。最响的一档,只留给真正的警报
warning(新增) --warning 底 + --warning-solid-foreground 深色数字 有东西在等用户处理
brand(新增) --brand 底 + --brand-foreground 有新东西,但不是警报,例如未读回复
default(已有) 中性 普通计数
  • 只增加 variant,不改动已有的 default / destructive,现有调用方的渲染不变。
  • 颜色全部来自现有 token,没有新增 token;brand 跟着配色方案走。
  • DESIGN.md、skills/web/SKILL.md、skills/web/reference.md 都补上同一条规则:一个计数汇总了多条不同的东西时,取其中最急的颜色(红 > 黄 > 主题色),并说明红色要省着用。

起因:Memoh 的会话未读功能(MEMOH-146)原来把每一条未读回复都标成红色,满屏红点,真正运行失败时反而不显眼。现在按轻重分级:失败用红,等待用户确认用黄,普通回复用主题色。

影响面

只增加 variant,现有组件和调用方都不受影响。配套的 Memoh PR felinics/Memoh#1645 会在「需要你」卡片的计数和 bot 切换器的计数里用上这两个色调,组件墙也加了示例。

Related

合并顺序

  1. 先合并本 PR。
  2. 把 feat: 会话未读红点与系统通知 Memoh#1645 的 packages/ui 指针改到本 PR 合并后在 main 上的提交,推送后等 CI 通过。
  3. 再合并 #1645。

CI 说明:本 PR 的 check 失败在 type-check,报的是 callout-banner、FieldError、FormMessage、FieldStack 这 4 个文件缺少 @memohai/icon/ui 的 ErrorIcon 导出。本 PR 没有改动这些文件,main 从 4b4d5ed 起最近 3 次 CI 都是同样的失败。需要先修好 main,本 PR 的 CI 才能变绿。

Validation

  • 本地 vue-tsc --build 通过。
  • Memoh 侧检查:scripts/check-ui-contract.mjs 通过;web typecheck 通过;sidebar 相关的 83 条 vitest 全部通过。
  • 在 Memoh 本地开发环境里实际渲染过,环境是森林配色,浅色和深色都看了(Agent 自测,不算 Human QA):
    • bot 切换器菜单里三种色调同时出现:只有回复的 bot 是 brand,有等待确认的是 warning,有失败的是 destructive。
    • 深色模式下三种色调的数字都清楚可读。

Screenshots

截图是在 Memoh PR #1645 上通过 gh --attach 上传的(fork 提交的 PR 在本仓库没有附件权限),这里直接引用。

浅色:bot 切换器里三种色调同时出现

深色:同一个菜单

A count now carries what it means, loudest first: destructive for a
failure, warning for something waiting on the user, brand for new items
that should be spotted without reading as an alert. Docs and skills note
that a count over mixed items takes its most urgent item's tone.
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.

1 participant