From 757a96ed9f6d5e3044cbe7bc5d539f86bd48abc3 Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Thu, 3 Jul 2025 16:15:31 +0300 Subject: [PATCH] Refactor SpaceDetailsActionButtons and SpaceIconPicker: Adjust layout properties for improved responsiveness and user experience. Set mainAxisSize to min in SpaceDetailsActionButtons and simplify the layout in SpaceIconPicker for better alignment and interaction. This enhances maintainability and adheres to Clean Architecture principles. --- .../widgets/space_details_action_buttons.dart | 1 + .../widgets/space_icon_picker.dart | 98 +++++++++---------- 2 files changed, 48 insertions(+), 51 deletions(-) diff --git a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_action_buttons.dart b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_action_buttons.dart index 3de9c192..8518227f 100644 --- a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_action_buttons.dart +++ b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_details_action_buttons.dart @@ -16,6 +16,7 @@ class SpaceDetailsActionButtons extends StatelessWidget { @override Widget build(BuildContext context) { return Row( + mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.spaceBetween, spacing: 10, children: [ diff --git a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_icon_picker.dart b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_icon_picker.dart index fd6f79e6..68bfdefc 100644 --- a/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_icon_picker.dart +++ b/lib/pages/space_management_v2/modules/space_details/presentation/widgets/space_icon_picker.dart @@ -17,64 +17,60 @@ class SpaceIconPicker extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const SizedBox(height: 50), - Stack( - alignment: Alignment.center, - children: [ - Container( - width: context.screenWidth * 0.1, - height: context.screenWidth * 0.1, - decoration: const BoxDecoration( - color: ColorsManager.boxColor, - shape: BoxShape.circle, - ), + return Center( + child: Stack( + + alignment: Alignment.center, + children: [ + Container( + width: context.screenWidth * 0.175, + height: context.screenHeight * 0.175, + decoration: const BoxDecoration( + color: ColorsManager.boxColor, + shape: BoxShape.circle, ), - SvgPicture.asset( + padding: const EdgeInsets.all(24), + child: SvgPicture.asset( iconPath, - width: context.screenWidth * 0.04, - height: context.screenWidth * 0.04, + width: context.screenWidth * 0.08, + height: context.screenHeight * 0.08, ), - Positioned( - top: 20, - right: 20, - child: InkWell( - onTap: () { - showDialog( - context: context, - builder: (context) => SpaceIconSelectionDialog( - selectedIcon: iconPath, - ), - ).then((value) { - if (value != null) { - if (context.mounted) { - context.read().add( - UpdateSpaceDetailsIcon(value), - ); - } + ), + Positioned.directional( + top: 12, + start: context.screenHeight * 0.06, + textDirection: Directionality.of(context), + child: InkWell( + onTap: () { + showDialog( + context: context, + builder: (context) => SpaceIconSelectionDialog( + selectedIcon: iconPath, + ), + ).then((value) { + if (value != null) { + if (context.mounted) { + context.read().add( + UpdateSpaceDetailsIcon(value), + ); } - }); - }, - child: Container( - width: 24, - height: 24, - decoration: const BoxDecoration( - color: Colors.white, - shape: BoxShape.circle, - ), - child: SvgPicture.asset( - Assets.iconEdit, - width: 16, - height: 16, - ), + } + }); + }, + child: Container( + decoration: const BoxDecoration( + shape: BoxShape.circle, + ), + child: SvgPicture.asset( + Assets.iconEdit, + width: 16, + height: 16, ), ), ), - ], - ), - ], + ), + ], + ), ); } }