Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 7262 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6911 stevensc 1
import React, { useState } from 'react'
2
import { useSelector } from 'react-redux'
3
import { Col, Container, Row } from 'react-bootstrap'
4
import QuestionAnswerRoundedIcon from '@mui/icons-material/QuestionAnswerRounded'
5
 
6
import ChatBox from '../../components/chat/ChatBox'
6956 stevensc 7
import Contacts from '../../components/chat/ChatContacts'
6911 stevensc 8
import EmptySection from '../../components/UI/EmptySection'
7260 stevensc 9
import AddMember from '../../components/chat/AddMember'
10
import GroupMembers from '../../components/chat/GroupMembers'
6911 stevensc 11
 
7260 stevensc 12
const CHAT_TABS = {
13
  CHAT: 'CHAT',
14
  DEFAULT: 'DEFAULT',
15
  GROUP_MEMBERS: 'GROUP_MEMBERS',
16
  ADD_GROUP_MEMBER: 'ADD_GROUP_MEMBER',
17
}
18
 
6911 stevensc 19
const ChatPage = () => {
20
  const [selectedConversation, setSelectedConversation] = useState(null)
7260 stevensc 21
  const [activeTab, setActiveTab] = useState(CHAT_TABS.DEFAULT)
6911 stevensc 22
  const labels = useSelector(({ intl }) => intl.labels)
23
 
24
  const changeConversation = (conversation) => {
25
    setSelectedConversation(conversation)
26
  }
27
 
7260 stevensc 28
  const changeTab = (tab) => {
29
    setActiveTab(tab)
30
  }
31
 
6911 stevensc 32
  return (
33
    <Container>
34
      <Row>
6915 stevensc 35
        <Col md="4">
6911 stevensc 36
          <Contacts
37
            selectedConversation={selectedConversation}
38
            changeConversation={changeConversation}
39
          />
40
        </Col>
6920 stevensc 41
        <Col md="8" className="d-flex">
7260 stevensc 42
          {!selectedConversation && (
6911 stevensc 43
            <EmptySection
44
              message={labels.select_conversation}
45
              Icon={<QuestionAnswerRoundedIcon />}
6920 stevensc 46
              align="center"
6911 stevensc 47
            />
48
          )}
7261 stevensc 49
          {selectedConversation && activeTab === CHAT_TABS.DEFAULT && (
50
            <ChatBox
51
              entity={selectedConversation}
52
              changeConversation={changeConversation}
53
              changeTab={changeTab}
54
            />
55
          )}
7260 stevensc 56
          {activeTab === CHAT_TABS.ADD_GROUP_MEMBER && (
7262 stevensc 57
            <AddMember group={selectedConversation} changeTab={changeTab} />
7260 stevensc 58
          )}
59
          {activeTab === CHAT_TABS.GROUP_MEMBERS && (
7263 stevensc 60
            <GroupMembers group={selectedConversation} changeTab={changeTab} />
7260 stevensc 61
          )}
6911 stevensc 62
        </Col>
63
      </Row>
64
    </Container>
65
  )
66
}
67
 
68
export default ChatPage