From 38423d15860142a9959d84b32d2694f4788c6977 Mon Sep 17 00:00:00 2001 From: pradeepkumar Date: Fri, 20 Mar 2026 02:34:11 +0530 Subject: [PATCH] feat: sort conversations by favorite status then by last message time. --- .../presentation/providers/messaging_provider.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/features/messaging/presentation/providers/messaging_provider.dart b/lib/features/messaging/presentation/providers/messaging_provider.dart index 171f7ce..92e3179 100644 --- a/lib/features/messaging/presentation/providers/messaging_provider.dart +++ b/lib/features/messaging/presentation/providers/messaging_provider.dart @@ -255,6 +255,16 @@ class MessagingNotifier extends StateNotifier { state = state.copyWith(isLoadingConversations: true, clearError: true); try { final result = await _repository.getConversations(); + // Sort: favorites first, then by lastMessageAt + final currentUserId = _currentUserId; + result.sort((a, b) { + final aFav = a.userId == currentUserId ? a.userFavorited : a.agentFavorited; + final bFav = b.userId == currentUserId ? b.userFavorited : b.agentFavorited; + if (aFav != bFav) return aFav ? -1 : 1; + final aTime = a.lastMessageAt ?? ''; + final bTime = b.lastMessageAt ?? ''; + return bTime.compareTo(aTime); + }); state = state.copyWith( conversations: result, isLoadingConversations: false,