User Interface Overview

- Sidebar (Conversation List) – Displays active conversations, including users and groups.
- Message View – Shows chat messages for the selected conversation in real-time.
- Message Composer – Provides an input field for typing and sending messages, along with support for media, emojis, and reactions.
Step-by-Step Guide
Step 1: Create Sidebar
Let’s create theSidebar 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
Step 2: Render Experience
Now we will create theCometChatNoSSR.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
Step 3: Disable SSR and Render the CometChat Component
Create a file CometChat.tsx inside the routes folder:Why disable SSR? CometChat UI Kit Builder relies on browser APIs such as window, document, and WebSockets. Since React Router renders on the server by default, disabling SSR for this component prevents runtime errors.
Step 4: Update App CSS
Next, add the following styles to app.css to ensure CometChat UI Kit is properly styled.app.css
Step 5: Run Your Application
-
Start the development server
- Verify the chat interface
- In your browser, navigate to the
/chatroute(e.g., http://localhost:3000/chat). - Confirm that the chat experience loads as expected.
Next Steps
Enhance the User Experience
- Advanced Customizations – Personalize the chat UI to align with your brand.