refactor: 重构弹窗组件支持自定义图标组件

This commit is contained in:
qzl
2026-04-07 12:30:12 +08:00
parent 8a18b3528b
commit f904286ba7
10 changed files with 72 additions and 49 deletions
@@ -5,6 +5,7 @@ import 'package:intl/intl.dart';
import '../../../../l10n/app_localizations.dart';
import '../../../../shared/theme/design_tokens.dart';
import '../../../../shared/widgets/app_modal_dialog.dart';
import '../../../../shared/widgets/gua_icon.dart';
import '../../../../shared/widgets/divination/divination_shared_widgets.dart';
import '../../../../shared/widgets/divination/divination_terms.dart';
import '../../../../shared/widgets/divination/yao_legend.dart';
@@ -166,7 +167,7 @@ class _ManualDivinationScreenState extends State<ManualDivinationScreen>
return AppModalDialog(
title: l10n.manualYaoTipTitle,
message: l10n.manualYaoTipContent,
icon: Icons.info_outline_rounded,
iconWidget: const GuaIcon(),
actions: [
AppModalDialogAction(
label: l10n.divinationIAcknowledge,
@@ -210,7 +211,7 @@ class _ManualDivinationScreenState extends State<ManualDivinationScreen>
points.runCost,
points.availableBalance,
),
icon: Icons.auto_awesome_rounded,
iconWidget: const GuaIcon(),
actions: [
AppModalDialogAction(
label: l10n.cancel,
@@ -247,12 +248,11 @@ class _ManualDivinationScreenState extends State<ManualDivinationScreen>
),
);
} finally {
if (!mounted) {
return;
if (mounted) {
setState(() {
_submitting = false;
});
}
setState(() {
_submitting = false;
});
}
}
}
@@ -506,18 +506,19 @@ class _YaoSelectionCard extends StatelessWidget {
width: double.infinity,
height: 120,
fit: BoxFit.contain,
errorBuilder: (_, __, ___) => Container(
height: 120,
color: colors.errorContainer,
child: Center(
child: Text(
l10n.divinationClose,
style: TextStyle(
color: colors.onErrorContainer,
errorBuilder: (context, error, stackTrace) =>
Container(
height: 120,
color: colors.errorContainer,
child: Center(
child: Text(
l10n.divinationClose,
style: TextStyle(
color: colors.onErrorContainer,
),
),
),
),
),
),
),
),
const SizedBox(height: AppSpacing.xs),