Complete ChatScreen example
Calls, theme, fonts, UI flags, styles, a render prop, and a host that already provides safe area, gesture root and toast:
tsxsrc/screens/ChatScreen.tsx
// src/screens/ChatScreen.tsximport React from 'react';import {Pressable, Text} from 'react-native';import { ChatNavigator, ChatProvider, configureCalling, type ConfigureChatOptions, type RenderConversationItem,} from '@realtimexsco/live-chat-react-native';import {chatConfig} from '../configs/chat.config'; configureCalling({enabled: true}); // default; false hides calling everywhere const config: ConfigureChatOptions = { ...chatConfig, fonts: {Regular: 'Inter-Regular', SemiBold: 'Inter-SemiBold', Bold: 'Inter-Bold'}, theme: {colorMode: 'light', accent: '#124232', avatarShape: 'rounded', messageStyle: 'rounded'}, queryParams: {branchId: '12'}, ui: { conversationList: {title: 'Messages', fabBottomInset: 64, showMentions: true}, chatRoom: { header: {showVoiceCall: true, showVideoCall: true}, view: {showSenderAvatarsInGroups: true}, composer: {placeholder: 'Type a message', richText: true, attachments: {audio: false}}, messageActions: {forward: false}, roomOptions: {report: false}, }, styles: { message: { sender: {bubble: {borderRadius: 14}}, receiver: {bubble: {borderRadius: 14}}, }, }, },}; const renderConversationItem: RenderConversationItem = ({ conversation, peer, unreadCount, isTyping, onPress,}) => ( <Pressable onPress={onPress} style={{padding: 16, flexDirection: 'row'}}> <Text style={{flex: 1, fontWeight: unreadCount ? '700' : '400'}}> {conversation.isGroup ? conversation.groupName || conversation.name : peer?.name} {isTyping ? ' · typing…' : ''} </Text> {unreadCount > 0 ? <Text>{unreadCount}</Text> : null} </Pressable>); export default function ChatScreen() { return ( <ChatProvider config={config} withSafeArea={false} withGestureRoot={false} withToast={false} renderConversationItem={renderConversationItem}> <ChatNavigator withContainer={false} /> </ChatProvider> );}With withToast={false} your app's own <Toast /> must be mounted, with a notification entry in its toast config — see Host app integration.