From dce44e20ec6a87d173b1f84cfa4b80d75a393a6c Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Wed, 16 Apr 2025 13:11:56 +0300 Subject: [PATCH] Extracted `EmptyResultsWidget` into its own widget and file for reusability. --- .../widgets/empty_search_result_widget.dart | 26 +++++++++++++++++++ .../all_spaces/widgets/sidebar_widget.dart | 13 ++-------- 2 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 lib/common/widgets/empty_search_result_widget.dart diff --git a/lib/common/widgets/empty_search_result_widget.dart b/lib/common/widgets/empty_search_result_widget.dart new file mode 100644 index 00000000..493974d4 --- /dev/null +++ b/lib/common/widgets/empty_search_result_widget.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:syncrow_web/utils/color_manager.dart'; +import 'package:syncrow_web/utils/extension/build_context_x.dart'; + +class EmptySearchResultWidget extends StatelessWidget { + const EmptySearchResultWidget({ + this.message = 'No results found', + super.key, + }); + + final String message; + + @override + Widget build(BuildContext context) { + return Center( + child: Text( + message, + textAlign: TextAlign.center, + style: context.textTheme.bodySmall?.copyWith( + color: ColorsManager.lightGreyColor, + fontWeight: FontWeight.w400, + ), + ), + ); + } +} diff --git a/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart b/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart index 34cb9a70..6d03c0d0 100644 --- a/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart +++ b/lib/pages/spaces_management/all_spaces/widgets/sidebar_widget.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:syncrow_web/common/widgets/empty_search_result_widget.dart'; import 'package:syncrow_web/common/widgets/search_bar.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/all_spaces/bloc/space_management_event.dart'; @@ -11,7 +12,6 @@ import 'package:syncrow_web/pages/spaces_management/all_spaces/widgets/space_til import 'package:syncrow_web/pages/spaces_management/create_community/view/create_community_dialog.dart'; import 'package:syncrow_web/pages/spaces_management/structure_selector/bloc/center_body_bloc.dart'; import 'package:syncrow_web/pages/spaces_management/structure_selector/bloc/center_body_event.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'; @@ -118,16 +118,7 @@ class _SidebarWidgetState extends State { Expanded( child: Visibility( visible: filteredCommunities.isNotEmpty, - replacement: Center( - child: Text( - 'No results found', - textAlign: TextAlign.center, - style: context.textTheme.bodySmall?.copyWith( - color: ColorsManager.lightGreyColor, - fontWeight: FontWeight.w400, - ), - ), - ), + replacement: const EmptySearchResultWidget(), child: ListView( shrinkWrap: true, scrollDirection: Axis.horizontal,