diff --git a/lib/pages/spaces_management/widgets/community_structure_widget.dart b/lib/pages/spaces_management/widgets/community_structure_widget.dart index 71b2ed27..32639efb 100644 --- a/lib/pages/spaces_management/widgets/community_structure_widget.dart +++ b/lib/pages/spaces_management/widgets/community_structure_widget.dart @@ -109,7 +109,7 @@ class _CommunityStructureAreaState extends State { children: [ CommunityStructureHeader( communityName: widget.selectedCommunity?.name, - isSave: widget.spaces.isNotEmpty, + isSave: spaces.isNotEmpty, isEditingName: isEditingName, nameController: _nameController, onSave: _saveSpaces, diff --git a/lib/pages/spaces_management/widgets/space_container_widget.dart b/lib/pages/spaces_management/widgets/space_container_widget.dart index 273319ce..78af5f10 100644 --- a/lib/pages/spaces_management/widgets/space_container_widget.dart +++ b/lib/pages/spaces_management/widgets/space_container_widget.dart @@ -20,55 +20,70 @@ class SpaceContainerWidget extends StatelessWidget { @override Widget build(BuildContext context) { + final theme = Theme.of(context); + return GestureDetector( - onDoubleTap: onDoubleTap, - onTap: onTap, - child: Container( - width: 150, - height: 60, - decoration: BoxDecoration( - color: ColorsManager.whiteColors, - borderRadius: BorderRadius.circular(15), - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.5), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), // shadow position - ), - ], - ), - child: Row( - children: [ - Container( - width: 40, - height: 60, - decoration: const BoxDecoration( - color: ColorsManager.spaceColor, - borderRadius: BorderRadius.only( - topLeft: Radius.circular(15), - bottomLeft: Radius.circular(15), - ), - ), - child: Center( - child: SvgPicture.asset( - icon, - color: ColorsManager.whiteColors, - width: 24, - height: 24, - ), - ), - ), - const SizedBox(width: 10), - Text( + onDoubleTap: onDoubleTap, + onTap: onTap, + child: Container( + width: 150, + height: 60, + decoration: _containerDecoration(), + child: Row( + children: [ + _buildIconContainer(), + const SizedBox(width: 10), + Expanded( + child: Text( name, - style: const TextStyle( + style: theme.textTheme.bodyLarge?.copyWith( fontWeight: FontWeight.bold, - fontSize: 16, + color: ColorsManager.blackColor, ), + overflow: TextOverflow.ellipsis, // Handle long names gracefully ), - ], - ), - )); + ), + ], + ), + ), + ); + } + + /// Builds the icon container with the SVG asset. + Widget _buildIconContainer() { + return Container( + width: 40, + height: double.infinity, + decoration: const BoxDecoration( + color: ColorsManager.spaceColor, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(15), + bottomLeft: Radius.circular(15), + ), + ), + child: Center( + child: SvgPicture.asset( + icon, + color: ColorsManager.whiteColors, + width: 24, + height: 24, + ), + ), + ); + } + + BoxDecoration _containerDecoration() { + return BoxDecoration( + color: ColorsManager.whiteColors, + borderRadius: BorderRadius.circular(15), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 2, + blurRadius: 5, + offset: const Offset(0, 3), // Shadow position + ), + ], + ); } }