Chat Favorite Screen & Fixes

merge-requests/55/head
Aamir Muhammad 2 years ago
parent 70dd6e1c99
commit ae917a4154

@ -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<void> onMsgReceived(List<Object?>? parameters) async {
print("msg Received");
List<SingleUserChatModel> data = [];
List<SingleUserChatModel> 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<Object?>? parameters) {

@ -26,18 +26,27 @@ class _ChatHomeState extends State<ChatHome> {
PageController controller = PageController();
late ChatProviderModel data;
@override
void initState() {
// TODO: implement initState
super.initState();
data = Provider.of<ChatProviderModel>(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<ChatProviderModel>(context, listen: false);
data.getUserAutoLoginToken().then((value) {
data.getUserRecentChats();
});
return Scaffold(
backgroundColor: MyColors.white,
appBar: AppBarWidget(

Loading…
Cancel
Save