refactor(client): Phase 0.1 统一中文字体地基(golden 消豆腐块,可与原型保真比对)
- 打包 Noto Sans SC(pubspec fonts:),ThemeData.fontFamily 全平台统一 - golden_harness 用 FontLoader 注入 ttf + withGoldenFont,golden 渲染真实中文 - 修复 data_table_card 根因:DefaultTextStyle → .merge(替换式会吞掉继承字体, 导致所有表格屏表头/单元格渲染豆腐块);顺手 hover 硬编码色 → context.tokens.rowHover - 全部 golden 用新字体重生成;test/golden/failures/ 加入 gitignore Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TSKEiHsvauyxYUW2itzUXX
This commit is contained in:
@@ -18,7 +18,8 @@ ThemeData buildTheme(String key) {
|
||||
brightness: brightness,
|
||||
colorScheme: scheme,
|
||||
scaffoldBackgroundColor: t.bg,
|
||||
fontFamily: null, // 系统中文字体;字号梯度后续在组件层接入
|
||||
// 全平台统一中文字体(与原型截图、golden 保真 diff 一致);打包内置。
|
||||
fontFamily: 'NotoSansSC',
|
||||
extensions: <ThemeExtension<dynamic>>[t],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@ class _DataTableCardState extends State<DataTableCard> {
|
||||
children: widget.columns.map((col) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||
child: DefaultTextStyle(
|
||||
child: DefaultTextStyle.merge(
|
||||
style: TextStyle(
|
||||
fontSize: 13,
|
||||
fontWeight: FontWeight.w600,
|
||||
@@ -187,10 +187,10 @@ class _DataTableCardState extends State<DataTableCard> {
|
||||
constraints: const BoxConstraints(minHeight: 48),
|
||||
alignment:
|
||||
col.numeric ? Alignment.centerRight : Alignment.centerLeft,
|
||||
color: hovered == rowIndex ? const Color(0xFFF5F7FF) : null,
|
||||
color: hovered == rowIndex ? context.tokens.rowHover : null,
|
||||
padding:
|
||||
const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
|
||||
child: DefaultTextStyle(
|
||||
child: DefaultTextStyle.merge(
|
||||
style: TextStyle(
|
||||
fontSize: 13, color: context.tokens.text),
|
||||
child: cell.child,
|
||||
|
||||
Reference in New Issue
Block a user