From fdea4b1cd054f2040e6c1843fa29d9baaee5ccfe Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Sun, 6 Jul 2025 12:32:18 +0300 Subject: [PATCH] Refactor CommunityDialog: Extract error message display into a separate method `_buildErrorMessage` for improved readability and maintainability. This change enhances the structure of the dialog while ensuring consistent error handling. --- .../shared/widgets/community_dialog.dart | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lib/pages/space_management_v2/main_module/shared/widgets/community_dialog.dart b/lib/pages/space_management_v2/main_module/shared/widgets/community_dialog.dart index f420abbd..32f6f39c 100644 --- a/lib/pages/space_management_v2/main_module/shared/widgets/community_dialog.dart +++ b/lib/pages/space_management_v2/main_module/shared/widgets/community_dialog.dart @@ -3,6 +3,7 @@ import 'package:syncrow_web/pages/common/buttons/cancel_button.dart'; import 'package:syncrow_web/pages/common/buttons/default_button.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/create_community/presentation/create_community_name_text_field.dart'; import 'package:syncrow_web/utils/color_manager.dart'; +import 'package:syncrow_web/utils/extension/build_context_x.dart'; class CommunityDialog extends StatefulWidget { final String? initialName; @@ -72,19 +73,8 @@ class _CommunityDialogState extends State { child: widget.title, ), const SizedBox(height: 18), - CreateCommunityNameTextField( - nameController: _nameController, - ), - if (widget.errorMessage != null) - Padding( - padding: const EdgeInsets.only(top: 18), - child: SelectableText( - '* ${widget.errorMessage}', - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.error, - ), - ), - ), + CreateCommunityNameTextField(nameController: _nameController), + _buildErrorMessage(), const SizedBox(height: 24), _buildActionButtons(context), ], @@ -131,4 +121,19 @@ class _CommunityDialogState extends State { widget.onSubmit.call(_nameController.text.trim()); } } + + Widget _buildErrorMessage() { + return Visibility( + visible: widget.errorMessage != null, + child: Padding( + padding: const EdgeInsetsDirectional.symmetric(vertical: 18), + child: SelectableText( + '* ${widget.errorMessage}', + style: context.textTheme.bodyMedium?.copyWith( + color: context.theme.colorScheme.error, + ), + ), + ), + ); + } }