docs(design): toast 规格入真相源 + 铁律14「UI 组件必须取自真相源」
- design/CLAUDE.md §1 加铁律 14:新增/改 UI 组件必须用真相源已定义的组件与令牌; 真相源没有的先补规格再用,绝不在业务代码凭空造样式(如 Material 默认外观);须符合当前设计。 - design/CONTRACT.md §2 加 Toast/SnackBar 组件规格(surface 底/fg1 字/border 描边/md 圆角/floating, 明暗自动适配),canonical 实现=pangolin_theme snackBarTheme。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
11. **品牌母题=行走穿山甲**(实心鳞甲剪影,朝右,圆头、匀称背、长尾)。**绝不手绘新图形或用 emoji 替代**——直接用 `assets/*.svg`。
|
||||
12. **不堆砌**:无填充内容、无装饰性数字/图标、无 AI slop。留白即设计。
|
||||
13. **脱敏(国内市场)**:产品主名统一「穿山甲 / Pangolin」,**不带 VPN 后缀**;定位话术=「网络加速 / 体验优化 + 隐私保护」。**红线词**(任何界面/宣传文案禁用):VPN、翻墙、科学上网、突破封锁、自由穿越、Go anywhere。安全词:加速、极速畅连、稳定、加速线路、隐私保护、无日志。「VPN」仅可出现在必要的技术文档/代码注释,绝不进 UI 文案、锁版、标题、aria-label。Logo 字标小字用「PANGOLIN」。
|
||||
14. **UI 组件只取自真相源**:新增/修改任何 UI 组件,必须使用真相源里已定义的组件与令牌(`colors_and_type.css` + 本文件 §3/§5 + `design/CONTRACT.md` 组件清单)。**真相源里没有的组件,先把规格补进真相源,再实现使用**——绝不在业务代码里凭空造一套样式(如直接用 Material 默认外观)。新组件必须符合当前设计语言(暖大地色语义 token、大圆角、柔和暖阴影、明暗双主题自动适配)。
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -32,6 +32,13 @@
|
||||
| 节点行 | `widgets/server_tile.dart` / `nodes_page` `_NodeGridTile` | 双列网格 |
|
||||
| 指标卡 | `stats_page` `_MetricCard` | 复用 |
|
||||
| 段控/开关/行 | `account_page` 内组件 | 复用 |
|
||||
| Toast / 通知条 | `pangolin_theme.dart` `snackBarTheme`(全局) | 新增组件(无原型) |
|
||||
|
||||
### Toast / SnackBar(通知条)规格
|
||||
跨平台轻提示(如自动连接「正在自动连接到 X」)。**无 React 原型 → 此处即真相源**;全部走语义 token,明暗自动适配:
|
||||
- 底色 `--surface`(浅=白 / 深=`#221E19`);文字 `--fg1`,Manrope 14/600;描边 `--border` 1px。
|
||||
- 圆角 `md`(10);`SnackBarBehavior.floating`;阴影柔和暖调(elevation≈6,`rgba(45,30,20,…)` 体系)。
|
||||
- 绝不用 Material 默认黑底。Flutter canonical:`PangolinTheme._build` 的 `snackBarTheme`(改样式只改此一处,全 app 一致)。
|
||||
|
||||
## 3. 页面像素规格(取自 tabapp.jsx)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user