feat(client): desktop 其他页精还原 + 整页 golden 闸

- stats_page 对照 dapp.jsx DStats 精对齐: padding 32/8、指标卡 padding 16/18·
  gap 14·值 mono 24、柱状图卡 padding 20/18·标题 13、柱 height 140(容 bar 86)·宽 34
- nodes_page 对照 DServers 微调: padding top 4、网格 gap 10(智能卡置顶保留, 符 §5)
- 新增 test/golden/desktop_pages_golden_test.dart: 用 macOS 平台覆盖 + 920×600 surface
  让 formFactor=desktop, 截 节点/统计/账户 三页整页 golden 作回归闸(连接页含旋转动画
  由组件级 golden 覆盖, 不在此截)

测试: flutter test 79 通过(+3 desktop 整页 golden), analyze 0 error

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-16 12:02:24 +08:00
parent 1340b477a7
commit 22e4eb1ead
6 changed files with 90 additions and 22 deletions
+4 -3
View File
@@ -52,8 +52,9 @@ class _NodesPageState extends ConsumerState<NodesPage> {
final search = _SearchBox(hint: t.searchPh, onChanged: (v) => setState(() => _q = v));
if (widget.isWide) {
// 对照 dapp.jsx DServerspadding 4/28、网格 gap 10。智能卡置顶(CLAUDE.md §5 规范,三端一致)。
return ListView(
padding: const EdgeInsets.fromLTRB(28, 6, 28, 24),
padding: const EdgeInsets.fromLTRB(28, 4, 28, 24),
children: [
smartCard,
const SizedBox(height: 14),
@@ -63,8 +64,8 @@ class _NodesPageState extends ConsumerState<NodesPage> {
crossAxisCount: 2,
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
mainAxisSpacing: 11,
crossAxisSpacing: 11,
mainAxisSpacing: 10,
crossAxisSpacing: 10,
childAspectRatio: 4.4,
children: [
for (final n in nodes)