getMessageList method

List<ChatModal> getMessageList(
  1. AsyncSnapshot<List<DocumentSnapshot<Object?>>> snapshot
)

Implementation

List<ChatModal> getMessageList(AsyncSnapshot<List<DocumentSnapshot<Object?>>> snapshot) {
  List<ChatModal> finalMessages = [];

  finalMessages.addAll(offlineMessages);
  finalMessages = finalMessages.reversed.toList();

  var temporaryMessages = getChatMessages(chatId);
  customPrint('Messages from local storage are ${temporaryMessages.length}');

  if (snapshot.data != null && snapshot.data!.isNotEmpty) {
    finalMessages += (List.generate(
      snapshot.data!.length,
      (index) => ChatModal.fromJson(
        snapshot.data![index].data() as Map,
        snapshot.data![index].id,
      ),
    )).toList();
  }
  finalMessages += temporaryMessages;
  finalMessages = finalMessages.reversed.toList();
  customPrint('the message list is ${finalMessages.length}');
  return finalMessages;
}