AI Agent Component Spec
AI Agent Component Spec
- Package:
@cometchat/chat-uikit-react - Framework: Next.js
- Key components:
CometChatConversations+CometChatMessageList - Required setup:
CometChatUIKit.init(UIKitSettings)thenCometChatUIKit.login("UID") - Parent guide: Next.js Integration
User Interface Overview

- Sidebar (Conversation List) — active conversations (users and groups)
- Message View — messages for the selected conversation
- Message Composer — text input with media, emoji, and reaction support
Step-by-Step Guide
Create Sidebar
Let’s create the
🔗 GitHub Assets Folder
Sidebar component which will render different conversations.Folder Structure
Create aCometChatSelector folder inside your src/app directory and add the following files:Download the Icon
These icons are available in the CometChat UI Kit assets folder. You can find them at:🔗 GitHub Assets Folder
- TypeScript
- CSS
CometChatSelector.tsx
Render Experience
Now we will create the
CometChatNoSSR.tsx & CometChatNoSSR.css files. Here, we will initialize the CometChat UI Kit, log in a user, and build the messaging experience using CometChatMessageHeader, CometChatMessageList, and CometChatMessageComposer components.- TypeScript
- CSS
CometChatNoSSR.tsx
Disabling SSR for CometChatNoSSR.tsx in Next.js
In this update, we will disable Server-Side Rendering (SSR) for Disabling SSR in
Modify your
CometChatNoSSR.tsx while keeping the rest of the application’s SSR functionality intact. This ensures that the CometChat UI Kit components load only on the client-side, preventing SSR-related issues.Disabling SSR in index.tsx
Modify your index.tsx file to dynamically import the CometChatNoSSR.tsx component with { ssr: false }.index.tsx
Why disable SSR?
- The CometChat UI Kit depends on browser APIs (window, document, WebSockets).
- Next.js pre-renders components on the server, which can cause errors with browser-specific features.
- By setting
{ ssr: false }, we ensure that CometChatNoSSR.tsx only loads on the client.
Update Global CSS
Next, add the following styles to global.css to ensure CometChat UI Kit is properly styled.
global.css