manualMessage method

dynamic manualMessage(
  1. dynamic data
)

Implementation

manualMessage(dynamic data) {
  try {
    if (kDebugMode) {
      print('socket:: data  $data');
    }
    var message = Message.fromJson(data['reply']);
    if (kDebugMode) {
      print('socket:: message  $message');
      print('socket:: messageId  ${message.id}');
    }

    if (data['ticketId'] == session.id) {
      var messageExists =
          value.messages?.any((e) => e.id == message.id) ?? false;
      var messages = messageExists
          ? value.messages?.map((e) => e.id == message.id ? message : e)
          : [...?value.messages, message];

      ChatHistoryController().updateUnreadMessages(session.id ?? '');
      // messages.re
      if (kDebugMode) {
        print('socket:: supervisedMessage $message');
      }
      // messages.sort
      value = value.copyWith(isLoading: false, messages: messages?.toList());
      Future.delayed(const Duration(milliseconds: 500), () {
        scrollController.jumpTo(scrollController.position.maxScrollExtent);
      });
    }
  } catch (error) {
    if (kDebugMode) {
      print('socket:: error $error');
      print(error);
    }
  }
}