reactMessage method

void reactMessage(
  1. PupauMessage message,
  2. Reaction reaction
)

Implementation

void reactMessage(PupauMessage message, Reaction reaction) async {
  if (conversation.value == null) return;
  Reaction oldReaction = message.reaction ?? Reaction.none;
  message.reaction = reaction;
  messages.refresh();
  update();
  String url = ApiUrls.queryUrl(
    assistantId,
    conversation.value!.id,
    message.id,
    isMarketplace: isMarketplace,
  );
  await ApiService.call(
    url,
    RequestType.patch,
    data: {"reaction": ConversationService.getReactionString(reaction)},
    onSuccess: (response) {
      if (reaction != Reaction.none) {
        showFeedbackSnackbar(
          Strings.thanksFeedback.tr,
          Symbols.emoji_emotions,
        );
      }
    },
    onError: (error) {
      showErrorSnackbar(
        "${Strings.apiErrorGeneric.tr} ${Strings.checkConnectionOrRetry.tr}",
      );
      message.reaction = oldReaction;
      messages.refresh();
      update();
    },
  );
}