import { Badge, List, Tag, Tooltip } from "antd"; import { AlertFilled } from "@ant-design/icons"; import React from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { setSelectedConversation } from "../../redux/messaging/messaging.actions"; import { selectSelectedConversation } from "../../redux/messaging/messaging.selectors"; import PhoneFormatter from "../../utils/PhoneFormatter"; import "./chat-conversation-list.styles.scss"; import { useTranslation } from "react-i18next"; import { TimeAgoFormatter } from "../../utils/DateFormatter"; const mapStateToProps = createStructuredSelector({ selectedConversation: selectSelectedConversation, }); const mapDispatchToProps = (dispatch) => ({ setSelectedConversation: (conversationId) => dispatch(setSelectedConversation(conversationId)), }); export function ChatConversationListComponent({ conversationList, selectedConversation, setSelectedConversation, }) { const { t } = useTranslation(); return (
( setSelectedConversation(item.id)} className={`chat-list-item ${ item.id === selectedConversation ? "chat-list-selected-conversation" : null }`} > {item.job_conversations.length > 0 ? (
{item.job_conversations.map((j, idx) => (
{j.job.owner && !j.job.owner.allow_text_message && ( )}
{`${j.job.ownr_fn || ""} ${j.job.ownr_ln || ""} ${ j.job.ownr_co_nm || "" } `}
))}
) : ( {item.phone_num} )}
{item.job_conversations.length > 0 ? item.job_conversations.map((j, idx) => ( {j.job.ro_number} )) : null}
{item.updated_at}
)} />
); } export default connect( mapStateToProps, mapDispatchToProps )(ChatConversationListComponent);