diff --git a/lib/common/widgets/search_bar.dart b/lib/common/widgets/search_bar.dart index da185369..ba4a25c9 100644 --- a/lib/common/widgets/search_bar.dart +++ b/lib/common/widgets/search_bar.dart @@ -7,7 +7,7 @@ class CustomSearchBar extends StatefulWidget { final TextEditingController? controller; final String hintText; final String? searchQuery; - final Function(String)? onSearchChanged; // Callback for search input changes + final void Function(String)? onSearchChanged; const CustomSearchBar({ super.key, @@ -37,7 +37,7 @@ class _CustomSearchBarState extends State { color: ColorsManager.white, boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.2), + color: ColorsManager.shadowBlackColor.withValues(alpha: 0.1), spreadRadius: 0, blurRadius: 8, offset: const Offset(0, 4), @@ -57,7 +57,7 @@ class _CustomSearchBarState extends State { style: const TextStyle( color: Colors.black, ), - onChanged: widget.onSearchChanged, // Call the callback on text change + onChanged: widget.onSearchChanged, decoration: InputDecoration( filled: true, fillColor: ColorsManager.textFieldGreyColor, diff --git a/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_communities_tree.dart b/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_communities_tree.dart index d986ef01..c5535b21 100644 --- a/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_communities_tree.dart +++ b/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_communities_tree.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncrow_web/common/widgets/app_loading_indicator.dart'; -import 'package:syncrow_web/common/widgets/search_bar.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/communities/domain/params/load_communities_param.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/communities/presentation/bloc/communities_bloc.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/communities/presentation/widgets/communities_tree_failure_widget.dart'; @@ -55,12 +54,9 @@ class _SpaceManagementCommunitiesTreeState ], ), child: Column( + spacing: 16, children: [ - const SpaceManagementSidebarHeader(), - CustomSearchBar( - onSearchChanged: _onSearchChanged, - ), - const SizedBox(height: 16), + SpaceManagementSidebarHeader(onSearchChanged: _onSearchChanged), switch (state.status) { CommunitiesStatus.initial => const AppLoadingIndicator(), CommunitiesStatus.loading => state.communities.isEmpty diff --git a/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_sidebar_header.dart b/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_sidebar_header.dart index b5f2a1b7..e31f49b5 100644 --- a/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_sidebar_header.dart +++ b/lib/pages/space_management_v2/modules/communities/presentation/widgets/space_management_sidebar_header.dart @@ -1,34 +1,59 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:syncrow_web/common/widgets/search_bar.dart'; import 'package:syncrow_web/pages/space_management_v2/main_module/shared/helpers/space_management_community_dialog_helper.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/communities/presentation/communities_tree_selection_bloc/communities_tree_selection_bloc.dart'; import 'package:syncrow_web/pages/space_management_v2/modules/communities/presentation/widgets/space_management_sidebar_add_community_button.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/extension/build_context_x.dart'; -import 'package:syncrow_web/utils/style.dart'; class SpaceManagementSidebarHeader extends StatelessWidget { - const SpaceManagementSidebarHeader({super.key}); + const SpaceManagementSidebarHeader({ + required this.onSearchChanged, + super.key, + }); + + final void Function(String) onSearchChanged; @override Widget build(BuildContext context) { - return Container( - decoration: subSectionContainerDecoration, - padding: const EdgeInsets.all(16), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - 'Communities', - style: context.textTheme.titleMedium?.copyWith( - color: ColorsManager.blackColor, - ), + return Stack( + clipBehavior: Clip.none, + children: [ + Padding( + padding: const EdgeInsets.only(top: 56), + child: CustomSearchBar( + onSearchChanged: onSearchChanged, ), - SpaceManagementSidebarAddCommunityButton( - onTap: () => _onAddCommunity(context), + ), + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: ColorsManager.white, + boxShadow: [ + BoxShadow( + color: ColorsManager.shadowBlackColor.withValues(alpha: 0.1), + blurRadius: 10, + offset: const Offset(0, 4), + ), + ], ), - ], - ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Communities', + style: context.textTheme.titleMedium?.copyWith( + color: ColorsManager.blackColor, + ), + ), + SpaceManagementSidebarAddCommunityButton( + onTap: () => _onAddCommunity(context), + ), + ], + ), + ), + ], ); }