fix: 修复图标和标签语义问题

## P0 - 简繁体中文混用(6个文件)
- chart_page.dart: 6处简体→繁体(暂无数据、买入、卖出、加载失败等)
- mine_page.dart: 确定 → 確定
- menu_group1.dart: 确定 → 確定
- deposit_page.dart: 单笔最低充值 → 單筆最低充值、网络 → 網絡

## P1 - 图标库不一致(1个文件)
- register_page.dart: Material Icons 统一为 Lucide Icons
  - Icons.chevron_left → LucideIcons.arrowLeft
  - Icons.check → LucideIcons.check
  - Icons.shield → LucideIcons.shieldCheck
  - Icons.lock → LucideIcons.lock
  - Icons.close → LucideIcons.x
  - Icons.camera_alt → LucideIcons.camera

## P2 - hintText 重复(2个文件)
- register_page.dart: 推廣碼(選填) → 請輸入推廣碼(選填)
- asset_dialogs.dart: 聯繫方式 → 方便客服與您聯繫

## 检查结论
 所有图标与功能语义完全匹配
 所有简繁混用问题已修复
 所有图标库统一为 Lucide Icons
This commit is contained in:
2026-04-08 12:41:00 +08:00
parent e4251a169d
commit 42563c906c
6 changed files with 19 additions and 18 deletions

View File

@@ -553,7 +553,7 @@ void showWithdrawDialog(BuildContext context, String? balance) {
MaterialInput(
controller: contactController,
labelText: '聯繫方式(可選)',
hintText: '聯繫方式',
hintText: '方便客服與您聯繫',
),
],
),

View File

@@ -269,7 +269,7 @@ class _DepositPageState extends State<DepositPage> {
size: 13, color: colorScheme.onSurfaceVariant),
const SizedBox(width: 6),
Text(
'单笔最低充值 1000 USDT',
'單筆最低充值 1000 USDT',
style: AppTextStyles.bodySmall(context).copyWith(
color: colorScheme.onSurfaceVariant,
),
@@ -561,7 +561,7 @@ class _DepositPageState extends State<DepositPage> {
),
const SizedBox(height: 8),
Text(
'网络: $_walletNetwork',
'網絡: $_walletNetwork',
style: AppTextStyles.bodySmall(context).copyWith(
color: colorScheme.onSurfaceVariant,
),

View File

@@ -2,6 +2,7 @@ import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:image_picker/image_picker.dart';
import 'package:lucide_icons_flutter/lucide_icons.dart';
import '../../../core/theme/app_color_scheme.dart';
import '../../../core/theme/app_spacing.dart';
@@ -85,7 +86,7 @@ class _RegisterPageState extends State<RegisterPage> {
backgroundColor: AppColorScheme.darkBackground.withValues(alpha: 0),
elevation: 0,
leading: IconButton(
icon: Icon(Icons.chevron_left, color: colorScheme.onSurface),
icon: Icon(LucideIcons.arrowLeft, color: colorScheme.onSurface),
onPressed: _currentStep == 1
? () => setState(() => _currentStep = 0)
: () => Navigator.pop(context),
@@ -171,7 +172,7 @@ class _RegisterPageState extends State<RegisterPage> {
),
child: Center(
child: isComplete
? Icon(Icons.check, size: 16, color: textColor)
? Icon(LucideIcons.check, size: 16, color: textColor)
: Text(
number,
style: AppTextStyles.headlineMedium(context).copyWith(
@@ -258,7 +259,7 @@ class _RegisterPageState extends State<RegisterPage> {
MaterialInput(
controller: _referralCodeController,
labelText: '推廣碼',
hintText: '推廣碼(選填)',
hintText: '請輸入推廣碼(選填)',
prefixIcon: Icons.card_giftcard,
),
const SizedBox(height: AppSpacing.xl),
@@ -315,7 +316,7 @@ class _RegisterPageState extends State<RegisterPage> {
borderRadius: BorderRadius.circular(AppRadius.md),
),
child: Icon(
Icons.shield,
LucideIcons.shieldCheck,
color: colorScheme.primary,
size: 22,
),
@@ -414,7 +415,7 @@ class _RegisterPageState extends State<RegisterPage> {
),
child: Row(
children: [
Icon(Icons.lock, size: 16, color: AppColorScheme.up),
Icon(LucideIcons.lock, size: 16, color: AppColorScheme.up),
const SizedBox(width: AppSpacing.sm),
Expanded(
child: Text(
@@ -518,7 +519,7 @@ class _RegisterPageState extends State<RegisterPage> {
shape: BoxShape.circle,
),
child: Icon(
Icons.close,
LucideIcons.x,
size: 14,
color: AppColorScheme.darkOnPrimary,
),
@@ -540,7 +541,7 @@ class _RegisterPageState extends State<RegisterPage> {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.camera_alt,
LucideIcons.camera,
size: 28,
color: colorScheme.onSurfaceVariant.withValues(alpha: 0.5),
),

View File

@@ -46,7 +46,7 @@ class ChartPage extends StatelessWidget {
final data = provider.klineData;
if (data.isEmpty) {
return const Center(child: Text('暂无数据'));
return const Center(child: Text('暫無數據'));
}
return Column(
@@ -382,7 +382,7 @@ class ChartPage extends StatelessWidget {
elevation: 0,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppRadius.md)),
),
child: Text('', style: AppTextStyles.headlineSmall(context).copyWith(fontWeight: FontWeight.w600, color: Colors.white)),
child: Text('', style: AppTextStyles.headlineSmall(context).copyWith(fontWeight: FontWeight.w600, color: Colors.white)),
),
),
),
@@ -398,7 +398,7 @@ class ChartPage extends StatelessWidget {
elevation: 0,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppRadius.md)),
),
child: Text('', style: AppTextStyles.headlineSmall(context).copyWith(fontWeight: FontWeight.w600, color: Colors.white)),
child: Text('', style: AppTextStyles.headlineSmall(context).copyWith(fontWeight: FontWeight.w600, color: Colors.white)),
),
),
),
@@ -408,7 +408,7 @@ class ChartPage extends StatelessWidget {
}
void _navigateToTrade(BuildContext context, String symbol, String side) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('$symbol $side - 跳交易面(待实现')));
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('$symbol $side - 跳交易面(待實現')));
}
Widget _buildTitle(BuildContext context) {
@@ -435,9 +435,9 @@ class ChartPage extends StatelessWidget {
children: [
Icon(Icons.error_outline, size: 48, color: colorScheme.error),
const SizedBox(height: AppSpacing.md),
Text('载失败', style: AppTextStyles.bodyLarge(context)),
Text('載失敗', style: AppTextStyles.bodyLarge(context)),
const SizedBox(height: AppSpacing.sm),
TextButton(onPressed: provider.loadCandles, child: const Text('')),
TextButton(onPressed: provider.loadCandles, child: const Text('')),
],
),
);

View File

@@ -82,7 +82,7 @@ void _showKycStatusDialog(BuildContext context) {
actions: [
TextButton(
onPressed: () => Navigator.of(ctx).pop(),
child: const Text(''),
child: const Text(''),
),
],
),

View File

@@ -99,7 +99,7 @@ class _MinePageState extends State<MinePage>
actions: [
TextButton(
onPressed: () => Navigator.of(ctx).pop(),
child: const Text(''),
child: const Text(''),
),
],
),