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,