navigateToMessagesScreen method

void navigateToMessagesScreen({
  1. User? user,
  2. Group? group,
  3. BuildContext? context,
  4. bool? pushReplacement,
})

Implementation

void navigateToMessagesScreen(
    {User? user,
    Group? group,
    BuildContext? context,
    bool? pushReplacement}) {
  CometChatMessages cometChatMessages = CometChatMessages(
    user: user,
    group: group,
    theme: messageConfiguration?.theme ?? theme,
    messageComposerConfiguration:
        messageConfiguration?.messageComposerConfiguration ??
            const MessageComposerConfiguration(),
    messageListConfiguration:
        messageConfiguration?.messageListConfiguration ??
            const MessageListConfiguration(),
    messageHeaderConfiguration:
        messageConfiguration?.messageHeaderConfiguration ??
            const MessageHeaderConfiguration(),
    customSoundForIncomingMessagePackage:
        messageConfiguration?.customSoundForIncomingMessagePackage,
    customSoundForIncomingMessages:
        messageConfiguration?.customSoundForIncomingMessages,
    customSoundForOutgoingMessagePackage:
        messageConfiguration?.customSoundForOutgoingMessagePackage,
    customSoundForOutgoingMessages:
        messageConfiguration?.customSoundForOutgoingMessages,
    detailsConfiguration: messageConfiguration?.detailsConfiguration,
    disableSoundForMessages: messageConfiguration?.disableSoundForMessages,
    disableTyping: messageConfiguration?.disableTyping ?? false,
    hideMessageComposer: messageConfiguration?.hideMessageComposer ?? false,
    hideMessageHeader: messageConfiguration?.hideMessageHeader,
    messageComposerView: messageConfiguration?.messageComposerView,
    messageHeaderView: messageConfiguration?.messageHeaderView,
    messageListView: messageConfiguration?.messageListView,
    messagesStyle: messageConfiguration?.messagesStyle,
    threadedMessagesConfiguration:
        messageConfiguration?.threadedMessagesConfiguration,
    hideDetails: messageConfiguration?.hideDetails,
    detailsWidget: messageConfiguration?.detailsWidget,
    auxiliaryHeaderMenu: messageConfiguration?.auxiliaryHeaderMenu,
  );

  if (pushReplacement == true) {
    Navigator.pushReplacement(
        context ?? this.context,
        MaterialPageRoute(
          builder: (context) => cometChatMessages,
        )).then((value) {
      if (value != null && value > 0) {
        Navigator.of(context ?? this.context).pop(value - 1);
      }
    });
  } else {
    Navigator.push(
        context ?? this.context,
        MaterialPageRoute(
          builder: (context) => cometChatMessages,
        )).then((value) {
      if (value != null && value > 0) {
        Navigator.of(context ?? this.context).pop(value - 1);
      }
    });
  }
}