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(); await hubConnection.start();
hubConnection.on("OnUpdateUserStatusAsync", changeStatus); hubConnection.on("OnUpdateUserStatusAsync", changeStatus);
hubConnection.on("OnDeliveredChatUserAsync", onMsgReceived); hubConnection.on("OnDeliveredChatUserAsync", onMsgReceived);
hubConnection.on("OnSeenChatUserAsync", onChatSeen); // hubConnection.on("OnSeenChatUserAsync", onChatSeen);
//hubConnection.on("OnUserTypingAsync", onUserTyping); //hubConnection.on("OnUserTypingAsync", onUserTyping);
// hubConnection.on("OnUserCountAsync", userCountAsync); // hubConnection.on("OnUserCountAsync", userCountAsync);
@ -269,6 +269,7 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
} }
Future<void> onMsgReceived(List<Object?>? parameters) async { Future<void> onMsgReceived(List<Object?>? parameters) async {
print("msg Received");
List<SingleUserChatModel> data = []; List<SingleUserChatModel> data = [];
List<SingleUserChatModel> temp = []; List<SingleUserChatModel> temp = [];
for (dynamic msg in parameters!) { for (dynamic msg in parameters!) {
@ -279,9 +280,15 @@ class ChatProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
data.first.currentUserId = temp.first.targetUserId; data.first.currentUserId = temp.first.targetUserId;
data.first.currentUserName = temp.first.targetUserName; 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(); notifyListeners();
if (isChatScreenActive) scrollToBottom(); // if (isChatScreenActive) scrollToBottom();
} }
void onUserTyping(List<Object?>? parameters) { void onUserTyping(List<Object?>? parameters) {

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

Loading…
Cancel
Save