统一弹窗风格:Material Design 3 规范,消除颜色不一致

- 所有 AlertDialog 替换为 ModernDialog
- ConfirmDialog/AssetDialogs 去掉 GlassPanel,统一 surfaceContainer 背景
- 按钮统一 FilledButton + TextButton
- 修复 import 路径
This commit is contained in:
2026-04-16 11:47:17 +08:00
parent 491fcfdb5d
commit 1793fb727e
32 changed files with 75614 additions and 69129 deletions

View File

@@ -7,6 +7,7 @@ import '../../../core/theme/app_theme.dart';
import '../../../core/theme/app_theme_extension.dart';
import '../../../providers/auth_provider.dart';
import '../../components/material_input.dart';
import '../../shared/modern_dialog.dart';
import '../main/main_page.dart';
import 'register_page.dart';
@@ -296,18 +297,10 @@ class _LoginPageState extends State<LoginPage> {
}
void _showErrorDialog(String message) {
showDialog(
ModernDialog.info(
context: context,
builder: (context) => AlertDialog(
title: const Text('登錄失敗'),
content: Text(message),
actions: [
TextButton(
onPressed: () => Navigator.of(context).pop(),
child: const Text('確定'),
),
],
),
title: '登錄失敗',
description: message,
);
}
}

View File

@@ -11,6 +11,7 @@ import '../../../providers/auth_provider.dart';
import '../../components/glass_panel.dart';
import '../../components/neon_glow.dart';
import '../../components/material_input.dart';
import '../../shared/modern_dialog.dart';
import '../main/main_page.dart';
/// 註冊頁面(兩步註冊:賬號信息 + 身份證上傳)
@@ -590,34 +591,18 @@ class _RegisterPageState extends State<RegisterPage> {
MaterialPageRoute(builder: (_) => const MainPage()),
);
} else {
showDialog(
ModernDialog.info(
context: context,
builder: (ctx) => AlertDialog(
title: const Text('註冊失敗'),
content: Text(response.message ?? '請稍後重試'),
actions: [
TextButton(
onPressed: () => Navigator.of(ctx).pop(),
child: const Text('確定'),
),
],
),
title: '註冊失敗',
description: response.message ?? '請稍後重試',
);
}
} catch (e) {
if (mounted) {
showDialog(
ModernDialog.info(
context: context,
builder: (ctx) => AlertDialog(
title: const Text('註冊失敗'),
content: Text(e.toString()),
actions: [
TextButton(
onPressed: () => Navigator.of(ctx).pop(),
child: const Text('確定'),
),
],
),
title: '註冊失敗',
description: e.toString(),
);
}
} finally {