refactor(theme): 移除硬编码颜色并统一使用主题系统
- 从多个页面移除对 `app_colors.dart` 的直接引用 - 在资产卡片和主页概览卡片中使用 `AppColorScheme.assetCardGradient` 替代硬编码渐变 - 在注册页面使用 `AppColorScheme` 和 `AppSpacing` 主题常量 - 移除未使用的导入以清理代码
This commit is contained in:
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
|
||||||
import '../../../core/theme/app_color_scheme.dart';
|
import '../../../core/theme/app_color_scheme.dart';
|
||||||
import '../../../core/theme/app_spacing.dart';
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../providers/asset_provider.dart';
|
import '../../../providers/asset_provider.dart';
|
||||||
@@ -85,11 +84,7 @@ class _AssetCard extends StatelessWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
padding: EdgeInsets.all(AppSpacing.lg),
|
padding: EdgeInsets.all(AppSpacing.lg),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: const LinearGradient(
|
gradient: AppColorScheme.assetCardGradient,
|
||||||
colors: AppColors.gradientColors,
|
|
||||||
begin: Alignment.topLeft,
|
|
||||||
end: Alignment.bottomRight,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.circular(AppRadius.xl),
|
borderRadius: BorderRadius.circular(AppRadius.xl),
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
import '../../../core/theme/app_color_scheme.dart';
|
||||||
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../providers/auth_provider.dart';
|
import '../../../providers/auth_provider.dart';
|
||||||
import '../main/main_page.dart';
|
import '../main/main_page.dart';
|
||||||
|
|
||||||
@@ -31,18 +32,18 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: AppColors.background,
|
backgroundColor: AppColorScheme.darkBackground,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: const Icon(Icons.arrow_back, color: AppColors.textPrimary),
|
icon: const Icon(Icons.arrow_back, color: AppColorScheme.darkOnSurface),
|
||||||
onPressed: () => Navigator.pop(context),
|
onPressed: () => Navigator.pop(context),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
padding: const EdgeInsets.all(24),
|
padding: const EdgeInsets.all(AppSpacing.lg),
|
||||||
child: Form(
|
child: Form(
|
||||||
key: _formKey,
|
key: _formKey,
|
||||||
child: Column(
|
child: Column(
|
||||||
@@ -54,7 +55,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
'\u20BF',
|
'\u20BF',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 48,
|
fontSize: 48,
|
||||||
color: AppColors.primary,
|
color: AppColorScheme.darkPrimary,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -65,7 +66,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: AppColors.textPrimary,
|
color: AppColorScheme.darkOnSurface,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -73,10 +74,10 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
// 用户名
|
// 用户名
|
||||||
TextFormField(
|
TextFormField(
|
||||||
controller: _usernameController,
|
controller: _usernameController,
|
||||||
style: const TextStyle(color: AppColors.textPrimary),
|
style: const TextStyle(color: AppColorScheme.darkOnSurface),
|
||||||
decoration: const InputDecoration(
|
decoration: const InputDecoration(
|
||||||
hintText: '请输入账号(4-20位字母数字)',
|
hintText: '请输入账号(4-20位字母数字)',
|
||||||
prefixIcon: Icon(Icons.person_outline, color: AppColors.textSecondary),
|
prefixIcon: Icon(Icons.person_outline, color: AppColorScheme.darkOnSurfaceVariant),
|
||||||
),
|
),
|
||||||
validator: (value) {
|
validator: (value) {
|
||||||
if (value == null || value.isEmpty) {
|
if (value == null || value.isEmpty) {
|
||||||
@@ -96,14 +97,14 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
TextFormField(
|
TextFormField(
|
||||||
controller: _passwordController,
|
controller: _passwordController,
|
||||||
obscureText: _obscurePassword,
|
obscureText: _obscurePassword,
|
||||||
style: const TextStyle(color: AppColors.textPrimary),
|
style: const TextStyle(color: AppColorScheme.darkOnSurface),
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: '请输入密码(至少6位)',
|
hintText: '请输入密码(至少6位)',
|
||||||
prefixIcon: const Icon(Icons.lock_outline, color: AppColors.textSecondary),
|
prefixIcon: const Icon(Icons.lock_outline, color: AppColorScheme.darkOnSurfaceVariant),
|
||||||
suffixIcon: IconButton(
|
suffixIcon: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
_obscurePassword ? Icons.visibility_off : Icons.visibility,
|
_obscurePassword ? Icons.visibility_off : Icons.visibility,
|
||||||
color: AppColors.textSecondary,
|
color: AppColorScheme.darkOnSurfaceVariant,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -127,14 +128,14 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
TextFormField(
|
TextFormField(
|
||||||
controller: _confirmPasswordController,
|
controller: _confirmPasswordController,
|
||||||
obscureText: _obscureConfirmPassword,
|
obscureText: _obscureConfirmPassword,
|
||||||
style: const TextStyle(color: AppColors.textPrimary),
|
style: const TextStyle(color: AppColorScheme.darkOnSurface),
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
hintText: '请再次输入密码',
|
hintText: '请再次输入密码',
|
||||||
prefixIcon: const Icon(Icons.lock_outline, color: AppColors.textSecondary),
|
prefixIcon: const Icon(Icons.lock_outline, color: AppColorScheme.darkOnSurfaceVariant),
|
||||||
suffixIcon: IconButton(
|
suffixIcon: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
_obscureConfirmPassword ? Icons.visibility_off : Icons.visibility,
|
_obscureConfirmPassword ? Icons.visibility_off : Icons.visibility,
|
||||||
color: AppColors.textSecondary,
|
color: AppColorScheme.darkOnSurfaceVariant,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -162,7 +163,7 @@ class _RegisterPageState extends State<RegisterPage> {
|
|||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(AppRadius.xxl),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: auth.isLoading
|
child: auth.isLoading
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
import 'package:flutter_animate/flutter_animate.dart';
|
||||||
import '../../../core/theme/app_color_scheme.dart';
|
import '../../../core/theme/app_color_scheme.dart';
|
||||||
import '../../../core/theme/app_spacing.dart';
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../providers/asset_provider.dart';
|
import '../../../providers/asset_provider.dart';
|
||||||
@@ -245,11 +245,7 @@ class _AssetOverviewCard extends StatelessWidget {
|
|||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
padding: EdgeInsets.all(AppSpacing.lg + AppSpacing.sm),
|
padding: EdgeInsets.all(AppSpacing.lg + AppSpacing.sm),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: const LinearGradient(
|
gradient: AppColorScheme.assetCardGradient,
|
||||||
colors: AppColors.gradientColors,
|
|
||||||
begin: Alignment.topLeft,
|
|
||||||
end: Alignment.bottomRight,
|
|
||||||
),
|
|
||||||
borderRadius: BorderRadius.circular(AppRadius.xl),
|
borderRadius: BorderRadius.circular(AppRadius.xl),
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
|
||||||
import '../../../core/theme/app_spacing.dart';
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../providers/asset_provider.dart';
|
import '../../../providers/asset_provider.dart';
|
||||||
import '../../../data/models/order_models.dart';
|
import '../../../data/models/order_models.dart';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
|
||||||
import '../../../core/theme/app_color_scheme.dart';
|
import '../../../core/theme/app_color_scheme.dart';
|
||||||
import '../../../core/theme/app_spacing.dart';
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../providers/asset_provider.dart';
|
import '../../../providers/asset_provider.dart';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shadcn_ui/shadcn_ui.dart';
|
import 'package:shadcn_ui/shadcn_ui.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../../../core/constants/app_colors.dart';
|
|
||||||
import '../../../core/theme/app_color_scheme.dart';
|
import '../../../core/theme/app_color_scheme.dart';
|
||||||
import '../../../core/theme/app_spacing.dart';
|
import '../../../core/theme/app_spacing.dart';
|
||||||
import '../../../data/models/coin.dart';
|
import '../../../data/models/coin.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user