manageMessageContextMenu method

void manageMessageContextMenu(
  1. int selectedOption,
  2. PupauMessage message
)

Implementation

void manageMessageContextMenu(int selectedOption, PupauMessage message) {
  switch (selectedOption) {
    case 0: //Like
      if (message.reaction != Reaction.like) {
        reactMessage(message, Reaction.like);
      } else {
        reactMessage(message, Reaction.none);
      }
    case 1: //Dislike
      if (message.reaction != Reaction.dislike) {
        reactMessage(message, Reaction.dislike);
      } else {
        reactMessage(message, Reaction.none);
      }
    case 2: //Copy
      Clipboard.setData(
        ClipboardData(
          text: ConversationService.copyMessageWithoutTags(
            message.isMessageFromAssistant ? message.answer : message.query,
          ),
        ),
      );
      showFeedbackSnackbar(
        Strings.copiedClipboard.tr,
        Symbols.content_copy,
        isInfo: true,
      );
    case 3: //Use
      inputMessageController.text = message.isMessageFromAssistant
          ? message.answer
          : message.query;
      inputMessage.value = message.isMessageFromAssistant
          ? message.answer
          : message.query;
      messages.refresh();
      update();
    case 4: //Read
      ttsService.startReading(message, messages, this);
    case 5: //Fork
      openForkConversationModal(message.id);
    case 6: //Report
      reportMessage(message);
  }
}