Skip to main content
FieldValue
Packagecometchat_chat_uikit
Key componentsCometchatUserInfo, CometChatMessageList, PageManager
InitCometChatUIKit.init(uiKitSettings) then CometChatUIKit.login(uid)
Entry pointGroup member tap → CometchatUserInfo → “Message” action
Sample appGitHub
RelatedAll Guides
Message Privately lets users start a direct one-on-one chat with a group member without leaving the group context. Before starting, complete the Getting Started guide.

Components

Component / ClassRole
CometChatMessageListDisplays group messages and user avatars
CometchatUserInfoShows user details and actions (e.g., call, message)
CometChatUserInfoControllerManages user info state and actions
PageManagerHandles navigation to the private chat screen

Integration Steps

1. Navigate to User Info

Open the user info screen when tapping on a group member’s profile or info icon. File: cometchat_group_info.dart
Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => CometchatUserInfo(user: selectedUser),
  ),
);

2. Display User Profile with Actions

The CometchatUserInfo widget displays the user’s profile with action tiles for voice call, video call, and messaging. File: cometchat_user_info.dart
Widget _getOptionTiles(CometChatUserInfoController controller) {
  return Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: [
      tile(
        Icon(Icons.call_outlined, color: colorPalette.iconHighlight),
        Translations.of(context).voice,
        () => controller.initiateCallWorkflow(CallTypeConstants.audioCall, context),
      ),
      tile(
        Icon(Icons.videocam_outlined, color: colorPalette.iconHighlight),
        Translations.of(context).video,
        () => controller.initiateCallWorkflow(CallTypeConstants.videoCall, context),
      ),
    ],
  );
}

3. Start Private Chat

Navigate to the private chat screen using PageManager when the user wants to message privately. File: page_manager.dart
PageManager().navigateToMessages(
  context: context,
  user: user,
);

4. Handle Mentions Navigation

When a user taps on a mention in a message, navigate to that user’s profile or start a private chat. File: cometchat_thread.dart
CometChatMentionsFormatter getMentionsTap() {
  return CometChatMentionsFormatter(
    user: widget.user,
    group: widget.group,
    onMentionTap: (mention, mentionedUser, {message}) {
      if (mentionedUser.uid != CometChatUIKit.loggedInUser!.uid) {
        PageManager().navigateToMessages(
          context: context,
          user: mentionedUser,
        );
      }
    },
  );
}

Feature Matrix

FeatureComponent / MethodFile
User info screenCometchatUserInfocometchat_user_info.dart
Voice/video callinitiateCallWorkflow()cometchat_user_info_controller.dart
Navigate to chatPageManager.navigateToMessagespage_manager.dart
Mention tapCometChatMentionsFormattercometchat_thread.dart
Access from groupGroup member listcometchat_group_info.dart

Next Steps