|
@@ -103,6 +103,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
const [isNew, setIsNew] = useState<{ new: number, mute: boolean }>({ new: 0, mute: false })
|
|
|
const [isReply, setIsReply] = useState<TMessage | undefined>(undefined)
|
|
|
const [isForward, setIsForward] = useState<TMessage | undefined>(undefined)
|
|
|
+ const [isEdit, setIsEdit] = useState<TMessage | undefined>(undefined)
|
|
|
const [modalForward, setModalForward] = useState<boolean>(false)
|
|
|
let time: any
|
|
|
let tongue: any
|
|
@@ -117,16 +118,24 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
}
|
|
|
|
|
|
const handleReply = (_id: string) => {
|
|
|
- openPinned&& dispatch(actionOpenPinned(false))
|
|
|
+ openPinned && dispatch(actionOpenPinned(false))
|
|
|
+ isEdit&&setIsEdit(undefined)
|
|
|
setIsReply(renderArr.find((el) => el._id ===_id))
|
|
|
}
|
|
|
|
|
|
const handleForward = (_id: string) => {
|
|
|
openPinned && dispatch(actionOpenPinned(false))
|
|
|
- isReply&&setIsReply(undefined)
|
|
|
+ isReply && setIsReply(undefined)
|
|
|
+ isEdit&&setIsEdit(undefined)
|
|
|
setIsForward(renderArr.find((el) => el._id === _id))
|
|
|
setModalForward(true)
|
|
|
}
|
|
|
+
|
|
|
+ const handleEdit = (_id: string) => {
|
|
|
+ openPinned && dispatch(actionOpenPinned(false))
|
|
|
+ isReply && setIsReply(undefined)
|
|
|
+ setIsEdit(renderArr.find((el) => el._id ===_id))
|
|
|
+ }
|
|
|
|
|
|
const handleScrollTo = useCallback(() => {
|
|
|
chatDivRef.current&&chatDivRef.current.scrollTo({
|
|
@@ -276,6 +285,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftText
|
|
|
message={message}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
createdAt={createdAt}
|
|
@@ -301,6 +311,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
companionIdForwardToAndFrom={companionIdForwardToAndFrom}
|
|
|
oldId={oldId}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
name={name}
|
|
@@ -331,6 +342,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftReply
|
|
|
url={urlReply}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
replyMessage={replyMessage}
|
|
@@ -362,6 +374,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftImage
|
|
|
url={url}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
createdAt={createdAt}
|
|
@@ -386,6 +399,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftAudio
|
|
|
url={url}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
name={name}
|
|
@@ -410,6 +424,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftVideo
|
|
|
url={url}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
name={name}
|
|
@@ -434,6 +449,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
<MessageLeftFile
|
|
|
url={url}
|
|
|
tongue={isTongue}
|
|
|
+ watched={!unread}
|
|
|
avatarUrl={avatarUrl}
|
|
|
color={color}
|
|
|
name={name}
|
|
@@ -476,6 +492,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
/></div>)
|
|
|
if (type === 'text' && companionIdForwardToAndFrom) return (<div key={createdAt} id={_id} style={{borderRadius: 7}}>
|
|
|
{isTime&&<MessageDivider message={timeStampFilter(createdAt)}/>}
|
|
@@ -507,6 +524,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
fullType={fullType}
|
|
|
handleScrollToTheChat={handleScrollToTheChat}
|
|
|
/></div>)
|
|
@@ -538,6 +556,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
fullType={fullType}
|
|
|
handleScrollToTheMessage={handleScrollToTheMessage}
|
|
|
oldId={oldId}
|
|
@@ -566,6 +585,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
/></div>)
|
|
|
if (type === 'audio') return (<div key={createdAt} id={_id} style={{borderRadius: 7}}>
|
|
|
{isTime&&<MessageDivider message={timeStampFilter(createdAt)}/>}
|
|
@@ -591,6 +611,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
/></div>)
|
|
|
if (type === 'video') return (<div key={createdAt} id={_id} style={{borderRadius: 7}}>
|
|
|
{isTime&&<MessageDivider message={timeStampFilter(createdAt)}/>}
|
|
@@ -616,6 +637,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
/></div>)
|
|
|
if (type) return (<div key={createdAt} id={_id} style={{borderRadius: 7}}>
|
|
|
{isTime&&<MessageDivider message={timeStampFilter(createdAt)}/>}
|
|
@@ -641,6 +663,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
nightMode={nightMode}
|
|
|
handleReply={handleReply}
|
|
|
handleForward={handleForward}
|
|
|
+ handleEdit={handleEdit}
|
|
|
/></div>)
|
|
|
}
|
|
|
}) : <AlertInfo name='You do not have messages yet!' />}
|
|
@@ -648,6 +671,7 @@ const ChatBar = ({chatDivRef,selectedArr,setSelectedArr,isSomeSelected,setIsSome
|
|
|
</div>
|
|
|
{!openPinned && !isSomeSelected && <SendMessage isArrow={isArrow} silentMode={silentMode} isReply={isReply} setIsReply={setIsReply}
|
|
|
isForward={isForward} setIsForward={setIsForward}
|
|
|
+ isEdit={isEdit} setIsEdit={setIsEdit}
|
|
|
modalForward={modalForward} setModalForward={setModalForward}
|
|
|
handleScrollToTheMessage={handleScrollToTheMessage}/>}
|
|
|
{openPinned&&!isSomeSelected&&<UnpinBar pinnedMessagesMemo={pinnedMessagesMemo} handleUnpinAll={handleUnpinAll} />}
|