navigateToMessage method

void navigateToMessage(
  1. ChatMessageModel chatMessage, {
  2. int? index,
})

Implementation

void navigateToMessage(ChatMessageModel chatMessage, {int? index}) {
  var messageID = chatMessage.messageId;
  var chatIndex = index ??
      chatList.indexWhere((element) => element.messageId == messageID);
  if (!chatIndex.isNegative) {
    // newScrollController.scrollTo(index: chatIndex+5, duration: const Duration(milliseconds: 1));
    if (!checkIndexVisibleInViewPort(chatIndex)) {
      newScrollController?.jumpTo(index: chatIndex);
    }
    LogMessage.d("newScrollController", "selected $chatIndex");
    chatList[chatIndex].isSelected(true);
    chatList.refresh();

    Future.delayed(const Duration(seconds: 1), () {
      LogMessage.d("newScrollController", "unselected $chatIndex");
      chatList[chatIndex].isSelected(false);
      chatList.refresh();
    });
  } else {
    getMessageFromServerAndNavigateToMessage(chatMessage, index);
  }
}