feat(ui): 优化转账页面百分比按钮布局和菜单样式

- 调整转账页面百分比按钮布局,将Expanded组件移到外层,使按钮宽度均匀分布
- 移除首页资产卡片充值按钮的加号图标,简化UI
- 优化个人中心菜单行样式,使用统一的surfaceCardHigh颜色并调整图标颜色
- 新增.claude/settings.local.json配置文件,添加Flutter版本检查和Python脚本权限
- 扩展.claude/settings.json中的Flutter分析工具路径配置
- 生成Flutter构建缓存文件,支持项目构建过程
This commit is contained in:
2026-04-06 20:42:17 +08:00
parent 9035d940c3
commit 152ef8d74f
14 changed files with 43 additions and 21 deletions

View File

@@ -38,7 +38,15 @@
"Bash(dart analyze:*)",
"Read(//d/flutter/bin/**)",
"Read(//c/flutter/bin/**)",
"Bash(find /d -maxdepth 3 -name \"flutter.bat\")"
"Bash(find /d -maxdepth 3 -name \"flutter.bat\")",
"Bash(cmd.exe /c \"flutter analyze\")",
"Bash(/c/Users/45070/flutter/bin/flutter analyze:*)",
"Read(//c/Users/45070/**)",
"Bash(ls /d/flutter/bin/flutter*)",
"Bash(ls /d/SD/flutter/bin/flutter*)",
"Read(//c/src/flutter/**)",
"Read(//d//**)",
"Bash(d:/flutter/bin/flutter analyze:*)"
],
"additionalDirectories": [
"/Users/sion/Desktop/projects/monisuo/monisuo-admin/.git"

View File

@@ -0,0 +1,8 @@
{
"permissions": {
"allow": [
"Bash(flutter --version)",
"Bash(python -c \"import sys,json; data=json.load\\(sys.stdin\\); [print\\(p['rootUri']\\) for p in data.get\\('packages',[]\\) if 'shadcn' in p.get\\('name',''\\)]\")"
]
}
}

View File

@@ -0,0 +1 @@
{"version":2,"files":[{"path":"D:\\projects\\monisuo\\flutter_monisuo\\pubspec.yaml","hash":"03c567345af5a72ca098cfa0a67b3423"},{"path":"D:\\flutter\\bin\\cache\\dart-sdk\\version","hash":"db192580246aede3f165089b4dfec3be"},{"path":"D:\\projects\\monisuo\\flutter_monisuo\\build\\8d8392f524987089f4a3e03b471672af\\dart_build_result.json","hash":"9d857e3e5f271b5a0fec6bf32eb91081"},{"path":"d:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json","hash":"39563a16882512c8c6a854c55af760fb"},{"path":"D:\\flutter\\packages\\flutter_tools\\lib\\src\\build_system\\targets\\native_assets.dart","hash":"f78c405bcece3968277b212042da9ed6"},{"path":"D:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json","hash":"39563a16882512c8c6a854c55af760fb"}]}

View File

@@ -0,0 +1 @@
{"inputs":[],"outputs":[]}

View File

@@ -0,0 +1 @@
D:\\projects\\monisuo\\flutter_monisuo\\build\\8d8392f524987089f4a3e03b471672af\\dart_build_result.json: D:\\flutter\\bin\\cache\\dart-sdk\\version D:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json D:\\projects\\monisuo\\flutter_monisuo\\pubspec.yaml d:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json

View File

@@ -0,0 +1 @@
{"inputs":["D:\\flutter\\packages\\flutter_tools\\lib\\src\\build_system\\targets\\native_assets.dart","D:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json","D:\\flutter\\bin\\cache\\dart-sdk\\version","D:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json","D:\\projects\\monisuo\\flutter_monisuo\\pubspec.yaml","d:\\projects\\monisuo\\flutter_monisuo\\.dart_tool\\package_config.json"],"outputs":["D:\\projects\\monisuo\\flutter_monisuo\\build\\8d8392f524987089f4a3e03b471672af\\dart_build_result.json","D:\\projects\\monisuo\\flutter_monisuo\\build\\8d8392f524987089f4a3e03b471672af\\dart_build_result.json"]}

View File

@@ -0,0 +1 @@
{"build_start":"2026-04-06T20:18:38.710816","build_end":"2026-04-06T20:18:40.516013","dependencies":["file:///D:/flutter/bin/cache/dart-sdk/version","file:///D:/projects/monisuo/flutter_monisuo/.dart_tool/package_config.json","file:///D:/projects/monisuo/flutter_monisuo/pubspec.yaml","file:///d:/projects/monisuo/flutter_monisuo/.dart_tool/package_config.json"],"code_assets":[],"data_assets":[]}

View File

@@ -0,0 +1 @@
{"inputs":[],"outputs":[]}

View File

@@ -0,0 +1 @@
{"inputs":[],"outputs":[]}

View File

@@ -0,0 +1 @@
["D:\\projects\\monisuo\\flutter_monisuo\\build\\8d8392f524987089f4a3e03b471672af\\dart_build_result.json"]

View File

@@ -411,9 +411,11 @@ class _TransferPageState extends State<TransferPage> {
final index = entry.key;
final percent = entry.value;
final label = '${(percent * 100).toInt()}%';
return Padding(
padding: EdgeInsets.only(left: index > 0 ? AppSpacing.sm : 0),
child: _buildPercentButton(label, percent),
return Expanded(
child: Padding(
padding: EdgeInsets.only(left: index > 0 ? AppSpacing.sm : 0),
child: _buildPercentButton(label, percent),
),
);
}).toList(),
),
@@ -424,18 +426,16 @@ class _TransferPageState extends State<TransferPage> {
Widget _buildPercentButton(String label, double percent) {
final colorScheme = Theme.of(context).colorScheme;
return Expanded(
child: GestureDetector(
onTap: () => _setQuickAmount(percent),
child: Container(
height: 36,
decoration: BoxDecoration(
color: colorScheme.surfaceContainerHigh,
borderRadius: BorderRadius.circular(AppRadius.sm),
),
child: Center(
child: Text(label, style: AppTextStyles.headlineSmall(context)),
),
return GestureDetector(
onTap: () => _setQuickAmount(percent),
child: Container(
height: 36,
decoration: BoxDecoration(
color: colorScheme.surfaceContainerHigh,
borderRadius: BorderRadius.circular(AppRadius.sm),
),
child: Center(
child: Text(label, style: AppTextStyles.headlineSmall(context)),
),
),
);

View File

@@ -268,7 +268,6 @@ class _AssetCardState extends State<_AssetCard> {
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.add, size: 13, color: context.colors.onPrimary),
SizedBox(width: 4),
Text(
'充值',

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:lucide_icons_flutter/lucide_icons.dart';
import '../../../../core/theme/app_spacing.dart';
import '../../../../core/theme/app_theme.dart';
import '../../../../core/theme/app_theme_extension.dart';
/// 单行菜单项:图标 + 标题 + 尾部组件 (chevron)
///
@@ -35,9 +36,7 @@ class MenuRow extends StatelessWidget {
width: 36,
height: 36,
decoration: BoxDecoration(
color: Theme.of(context).brightness == Brightness.dark
? Theme.of(context).colorScheme.surfaceContainerHigh
: Theme.of(context).colorScheme.surfaceContainerHighest,
color: context.appColors.surfaceCardHigh,
borderRadius: BorderRadius.circular(8),
),
child: Center(
@@ -57,7 +56,7 @@ class MenuRow extends StatelessWidget {
Icon(
LucideIcons.chevronRight,
size: 16,
color: Theme.of(context).colorScheme.onSurfaceVariant,
color: context.colors.onSurfaceVariant,
),
],
),