diff --git a/sama_chat_client/lib/src/features/conversation/widgets/forward_messages/forward_search_form.dart b/sama_chat_client/lib/src/features/conversation/widgets/forward_messages/forward_search_form.dart index efd5557..5dcad79 100644 --- a/sama_chat_client/lib/src/features/conversation/widgets/forward_messages/forward_search_form.dart +++ b/sama_chat_client/lib/src/features/conversation/widgets/forward_messages/forward_search_form.dart @@ -7,6 +7,7 @@ import 'package:go_router/go_router.dart'; import '../../../../db/models/models.dart'; import '../../../../navigation/constants.dart'; import '../../../../shared/ui/colors.dart'; +import '../../../../shared/ui/view/loading_overlay.dart'; import '../../../conversation_create/bloc/conversation_create_bloc.dart'; import '../../../conversation_create/bloc/conversation_create_state.dart'; import '../../../global_search/bloc/global_search_bloc.dart'; @@ -94,14 +95,7 @@ class _SearchBody extends StatelessWidget { '$conversationListScreenPath/$conversationScreenSubPath', extra: conversation); } - - ScaffoldMessenger.of(context) - ..hideCurrentSnackBar() - ..showSnackBar( - const SnackBar( - duration: Duration(seconds: 2), - content: Text('Forwarded successfully')), - ); + showTopBanner(context, 'Forwarded successfully'); case ForwardMessagesStatus.failure: WidgetsBinding.instance.addPostFrameCallback((_) { ScaffoldMessenger.of(context) diff --git a/sama_chat_client/lib/src/shared/ui/view/loading_overlay.dart b/sama_chat_client/lib/src/shared/ui/view/loading_overlay.dart index 7e72f7e..b21a699 100644 --- a/sama_chat_client/lib/src/shared/ui/view/loading_overlay.dart +++ b/sama_chat_client/lib/src/shared/ui/view/loading_overlay.dart @@ -28,3 +28,26 @@ class LoadingOverlay { } } } + +void showTopBanner(BuildContext context, String message) { + final messenger = ScaffoldMessenger.of(context); + + messenger.clearMaterialBanners(); + + messenger.showMaterialBanner( + MaterialBanner( + content: Text( + message, + textAlign: TextAlign.center, + style: const TextStyle(color: black), + ), + backgroundColor: lightMallow, + dividerColor: Colors.transparent, + actions: const [SizedBox.shrink()], + ), + ); + + Future.delayed(const Duration(seconds: 3), () { + messenger.hideCurrentMaterialBanner(); + }); +}