From 1448aa97ce2153470719c30a1769a841b5b18dd3 Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Thu, 24 Jul 2025 12:05:24 +0300 Subject: [PATCH] Refactor SpaceDetailsDialog to improve title handling and loading/error dialogs --- .../widgets/space_details_dialog.dart | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_dialog.dart b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_dialog.dart index 370fd59b..53af6b5d 100644 --- a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_dialog.dart +++ b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_dialog.dart @@ -43,12 +43,23 @@ class _SpaceDetailsDialogState extends State { super.initState(); } + Widget _buildTitle(BuildContext context) { + return DefaultTextStyle( + style: context.textTheme.titleLarge!.copyWith( + fontSize: 30, + fontWeight: FontWeight.w400, + color: ColorsManager.blackColor, + ), + child: widget.title, + ); + } + @override Widget build(BuildContext context) { final isCreateMode = widget.spaceModel.uuid.isEmpty; if (isCreateMode) { return SpaceDetailsForm( - title: widget.title, + title: _buildTitle(context), space: SpaceDetailsModel.empty(), onSave: widget.onSave, ); @@ -57,23 +68,23 @@ class _SpaceDetailsDialogState extends State { return BlocBuilder( bloc: widget.context.read(), builder: (context, state) => switch (state) { - SpaceDetailsInitial() => _buildLoadingDialog(), - SpaceDetailsLoading() => _buildLoadingDialog(), + SpaceDetailsInitial() => buildLoadingDialog(), + SpaceDetailsLoading() => buildLoadingDialog(), SpaceDetailsLoaded(:final spaceDetails) => SpaceDetailsForm( - title: widget.title, + title: _buildTitle(context), space: spaceDetails, onSave: widget.onSave, ), - SpaceDetailsFailure(:final errorMessage) => _buildErrorDialog( + SpaceDetailsFailure(:final errorMessage) => buildErrorDialog( errorMessage, ), }, ); } - Widget _buildLoadingDialog() { + Widget buildLoadingDialog() { return AlertDialog( - title: widget.title, + title: _buildTitle(context), backgroundColor: ColorsManager.white, content: SizedBox( height: context.screenHeight * 0.3, @@ -83,18 +94,17 @@ class _SpaceDetailsDialogState extends State { ); } - Widget _buildErrorDialog(String errorMessage) { + Widget buildErrorDialog(String errorMessage) { return AlertDialog( - title: widget.title, + title: _buildTitle(context), backgroundColor: ColorsManager.white, - content: Center( - child: SelectableText( - errorMessage, - style: context.textTheme.bodyLarge?.copyWith( - color: ColorsManager.red, - fontWeight: FontWeight.w500, - fontSize: 18, - ), + content: SelectableText( + errorMessage, + textAlign: TextAlign.center, + style: context.textTheme.bodyLarge?.copyWith( + color: ColorsManager.red, + fontWeight: FontWeight.w500, + fontSize: 18, ), ), );