getMessageAttachments method
Implementation
List<Attachment> getMessageAttachments(PupauMessage message) {
List<PupauMessage> messages = Get.find<ChatController>().messages;
List<Attachment> messageAttachments = [];
List<PupauMessage> userMessages = messages
.where((PupauMessage message) => message.status == MessageStatus.sent)
.toList();
if (userMessages.isEmpty) return [];
int messageIndex = userMessages.indexWhere(
(PupauMessage thisMessage) => thisMessage.id == message.id,
);
if (messageIndex == userMessages.length - 1) {
messageAttachments = attachments
.where((Attachment attachment) => attachment.previousQueryId == "")
.toList();
} else {
PupauMessage nextMessage = userMessages[messageIndex + 1];
messageAttachments = attachments
.where(
(Attachment attachment) =>
attachment.previousQueryId == nextMessage.id,
)
.toList();
}
for (Attachment attachment in messageAttachments) {
attachment.isShown = true;
}
return messageAttachments;
}