AutorÃa | Ultima modificación | Ver Log |
import React, { useEffect, useState } from 'react'import Contacts from '../components/contacts/Contacts'import Chat from '../components/chat/Chat'import GroupMembers from '../components/group-members/GroupMembers'import AddMember from '../components/add-member/AddMember'const CHAT_TABS = {CHAT: 'CHAT',DEFAULT: 'DEFAULT',GROUP_MEMBERS: 'GROUP_MEMBERS',ADD_GROUP_MEMBER: 'ADD_GROUP_MEMBER',}const MobileChat = ({ chatUsers = [], chatGroups = [], timezones = {} }) => {const [selectedConversation, setSelectedConversation] = useState(null)const [activeTab, setActiveTab] = useState(CHAT_TABS.DEFAULT)const openChat = (entity) => {setSelectedConversation(entity)setActiveTab(CHAT_TABS.CHAT)}const changeTab = (tab) => {setActiveTab(tab)}useEffect(() => {activeTab === CHAT_TABS.DEFAULT && setSelectedConversation(null)}, [activeTab])return (<>{activeTab === CHAT_TABS.DEFAULT && (<Contactspersons={chatUsers}groups={chatGroups}selectedConversation={selectedConversation}changeConversation={(conversation) => openChat(conversation)}/>)}{activeTab === CHAT_TABS.CHAT && (<Chatentity={selectedConversation}timezones={timezones}changeTab={changeTab}/>)}{activeTab === CHAT_TABS.ADD_GROUP_MEMBER && (<AddMember group={selectedConversation} />)}{activeTab === CHAT_TABS.GROUP_MEMBERS && (<GroupMembers group={selectedConversation} />)}</>)}export default MobileChat