Key Benefit: Provide users with a centralized hub to manage all their chat conversations, featuring real-time updates, unread indicators, and intuitive navigation between active and archived chats.
Feature Overview
The UIKit provides users with an overview of all their active chat channels. It offers a quick glance at the latest conversations and helps users easily stay on top of ongoing discussions.Channel Management
Conversation Organization
- Channel preview with latest messages
- Real-time activity sorting
- Unread message indicators
- Swipe-to-archive functionality
User Navigation
Intuitive Chat Access
- Tap to enter conversations
- Create new conversations
- Access archived chats
- Network connectivity indicators
Platform Support: Recent Chats components are available on iOS, Android, React, React Native, and Flutter. On React Native, these screens ship from v4.3.0 as part of
AmityUiKitChat, and from v4.3.1 each page can also be rendered on its own inside AmityPageRenderer — see Quick Start. Only pages are exported on React Native; the building-block components shown here (list, bubble, composer, action sheets) aren’t.Implementation Guide
- Chat Home Interface
- Chat List
- Archived Chat Management
- Conversation Creation
Main entry point for chat functionalityThe AmityChatHomePage serves as the central hub for managing and navigating between conversations.
Features
Code Examples
Automatic Management: The chat home page automatically handles real-time updates, sorting, and network connectivity through the underlying SDK.
React Native (v4.3.0+): The chat home page is where
AmityUiKitChat opens. It shows unread and mention badges on each chat and lets users swipe a chat to archive it. When push notifications are disabled for the user’s account or for the chat module (for example, by an admin), the list shows a “Push notifications have been disabled by admin” banner.Sort Order
By default the chat list shows the most recently active chat first. You can sort by the newest message instead, so that joining or leaving a chat does not push it to the top. This option is available on iOS, Android, and Web. Setchannel_list_sort_by under feature_flags.chat in your UIKit config:
- Default. A missing key, or any value other than
lastMessage, keepslastActivity. All three tabs (All, Direct, Groups) use the same value. - When it applies. The chat home page reads the value when it builds its channel queries. On iOS and Android a change takes effect the next time the page opens. On Web the chat home stays mounted for the life of the UIKit, so a change takes effect the next time the UIKit is loaded with the new config.
- Row time. With
lastMessage, each row shows the time of its newest message (or the chat’s creation time if it has none), so a membership change neither moves a row nor changes its time. WithlastActivity, rows keep showing the last activity time. - Live order. The list reorders as messages arrive. When the current user sends a message, that chat moves to the top right away.
- Backend support.
lastMessageneeds backend support for your network. If it is not available, the page shows the error state (“Couldn’t load chats”) in place of the list, with no call to action. The UIKit does not fall back tolastActivity. Set the value back tolastActivityuntil it is available.
To sort a channel list in your own UI, see Query Channels.
Component Management Strategies
Visual Hierarchy Strategy
Visual Hierarchy Strategy
Optimizing chat list presentationDesign clear visual indicators for unread messages, archived conversations, and different conversation types. Use consistent styling patterns to help users quickly identify and navigate to their desired conversations.
User Action Integration
User Action Integration
Implementing intuitive interactionsConfigure swipe actions, tap behaviors, and menu options to provide users with quick access to common chat management actions while maintaining a clean and uncluttered interface.
Best Practices
Interface Customization
Interface Customization
Tailoring the chat list experienceCustomize the appearance of chat previews, timestamps, and unread indicators to match your app’s design system. Focus on readability and clear visual hierarchy to enhance user experience.
User Flow Optimization
User Flow Optimization
Streamlining chat discoveryDesign clear pathways for users to find existing conversations, create new ones, and manage their chat organization. Consider user habits and common usage patterns when planning the interface.
Responsive Design
Responsive Design
Ensuring cross-device compatibilityOptimize the chat list interface for different screen sizes and orientations. Ensure touch targets are appropriately sized and that the interface remains usable across various device configurations.
Related Features
Conversation Chat
Individual Chats
Navigate to conversation interfaces
Group Chat
Multi-user Chats
Roles & member tools
Live Chat
Streaming Events
High-volume interaction