import {
CometChatUsersWithMessages,
CometChatGroupsWithMessages,
CometChatConversationsWithMessages,
CometChatTabs,
} from "@cometchat/chat-uikit-react-native";
export function CometChatUI() {
const tabItemStyle: TabItemStyleInterface = {
activeBackgroundColor: "#6851D6",
};
const chatsTab: TabItem = {
id: "chats",
//iconURL: <custom icon>,
title: "Chats",
style: tabItemStyle,
isActive: true,
childView: () => <CometChatConversationsWithMessages />,
};
const usersTab: TabItem = {
id: "users",
//iconURL: <custom icon>,
title: "Users",
style: tabItemStyle,
childView: () => <CometChatUsersWithMessages />,
};
const groupsTab: TabItem = {
id: "groups",
title: "Groups",
//iconURL: <custom icon>,
style: tabItemStyle,
childView: () => <CometChatGroupsWithMessages />,
};
const tabs = [chatsTab, usersTab, groupsTab];
const tabsStyle = {
titleTextFont: theme.typography.heading,
titleTextColor: theme.palette.getAccent(),
tabHeight: 36,
tabBorderRadius: 18,
activeTabBackgroundColor: theme.palette.getPrimary(),
activeTabTitleTextColor: theme.palette.getSecondary(),
backgroundColor: theme.palette.getBackgroundColor(),
borderRadius: 18,
backIconTint: theme.palette.getPrimary(),
selectionIconTint: theme.palette.getPrimary(),
tabBackgroundColor: theme.palette.getAccent200(),
tabTitleTextColor: theme.palette.getAccent(),
tabTitleTextFont: theme.typography.text1,
};
return (
<SafeAreaView style={{ flex: 1 }}>
<CometChatContextProvider theme={theme}>
<View style={{ marginTop: 10, height: "100%", width: "100%" }}>
<CometChatTabs
tabs={tabs}
tabAlignment="top"
keepAlive={true}
style={tabsStyle}
></CometChatTabs>
</View>
</CometChatContextProvider>
</SafeAreaView>
);
}