From ae917a415476f6eec33814b6ad3d550508b7a955 Mon Sep 17 00:00:00 2001 From: "Aamir.Muhammad" Date: Tue, 15 Nov 2022 12:44:09 +0300 Subject: [PATCH] Chat Favorite Screen & Fixes --- lib/api/chat/chat_provider_model.dart | 13 ++++++++++--- lib/ui/chat/chat_home.dart | 17 +++++++++++++---- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/lib/api/chat/chat_provider_model.dart b/lib/api/chat/chat_provider_model.dart index 727fd12..be5b68c 100644 --- a/lib/api/chat/chat_provider_model.dart +++ b/lib/api/chat/chat_provider_model.dart @@ -164,7 +164,7 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin { await hubConnection.start(); hubConnection.on("OnUpdateUserStatusAsync", changeStatus); hubConnection.on("OnDeliveredChatUserAsync", onMsgReceived); - hubConnection.on("OnSeenChatUserAsync", onChatSeen); + // hubConnection.on("OnSeenChatUserAsync", onChatSeen); //hubConnection.on("OnUserTypingAsync", onUserTyping); // hubConnection.on("OnUserCountAsync", userCountAsync); @@ -269,6 +269,7 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin { } Future onMsgReceived(List? parameters) async { + print("msg Received"); List data = []; List temp = []; for (dynamic msg in parameters!) { @@ -279,9 +280,15 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin { data.first.currentUserId = temp.first.targetUserId; data.first.currentUserName = temp.first.targetUserName; } - userChatHistory.add(data.first); + userChatHistory.insert(0, data.first); + // searchedChats!.forEach((element) { + // if (element.id == data.first.currentUserId) { + // var val = element.unreadMessageCount == null ? 0 : element.unreadMessageCount; + // element.unreadMessageCount = val! + 1; + // } + // }); notifyListeners(); - if (isChatScreenActive) scrollToBottom(); + // if (isChatScreenActive) scrollToBottom(); } void onUserTyping(List? parameters) { diff --git a/lib/ui/chat/chat_home.dart b/lib/ui/chat/chat_home.dart index 86356bb..1fdcb33 100644 --- a/lib/ui/chat/chat_home.dart +++ b/lib/ui/chat/chat_home.dart @@ -26,18 +26,27 @@ class _ChatHomeState extends State { PageController controller = PageController(); late ChatProviderModel data; + + @override + void initState() { + // TODO: implement initState + super.initState(); + data = Provider.of(context, listen: false); + data.getUserAutoLoginToken().then((value) { + data.getUserRecentChats(); + }); + } + @override void dispose() { data.clearAll(); + data.hubConnection.stop(); super.dispose(); } @override Widget build(BuildContext context) { - data = Provider.of(context, listen: false); - data.getUserAutoLoginToken().then((value) { - data.getUserRecentChats(); - }); + return Scaffold( backgroundColor: MyColors.white, appBar: AppBarWidget(