|
@@ -276,10 +276,12 @@ interface ISendMessage{
|
|
|
setIsReply: React.Dispatch<React.SetStateAction<TMessage | undefined>>,
|
|
|
isForward: TMessage | undefined,
|
|
|
setIsForward: React.Dispatch<React.SetStateAction<TMessage | undefined>>,
|
|
|
- handleScrollToTheMessage: (_id:string) => void
|
|
|
+ modalForward: boolean,
|
|
|
+ setModalForward: React.Dispatch<React.SetStateAction<boolean>>,
|
|
|
+ handleScrollToTheMessage: (_id: string) => void,
|
|
|
}
|
|
|
|
|
|
-const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForward,handleScrollToTheMessage }:ISendMessage) => {
|
|
|
+const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForward,modalForward,setModalForward,handleScrollToTheMessage }:ISendMessage) => {
|
|
|
const classes = useStyles();
|
|
|
const { companionId } = useSelector(getChat)
|
|
|
const rightIsOpen = useSelector(getRightIsOpen)
|
|
@@ -333,12 +335,12 @@ const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForwa
|
|
|
|
|
|
const sentMessage = async () => {
|
|
|
if (value && !isReply && !isForward) sentMessageById(companionId, value, caption.trim())
|
|
|
- if (value && isReply) {
|
|
|
+ if (value && isReply && !isForward) {
|
|
|
sentMessageReplyById(isReply._id, value, caption.trim())
|
|
|
setIsReply(undefined)
|
|
|
}
|
|
|
- if (value && isForward) {
|
|
|
- console.log('Sent forwarded')
|
|
|
+ if (value && !isReply && isForward) {
|
|
|
+ console.log('Sent forwarded message to me')
|
|
|
setIsForward(undefined)
|
|
|
}
|
|
|
if (mediaBlobUrl && type === 'recording') {
|
|
@@ -492,25 +494,18 @@ const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForwa
|
|
|
|
|
|
useEffect(() => {
|
|
|
defaultState()
|
|
|
- }, [isReply])
|
|
|
-
|
|
|
- useEffect(() => {
|
|
|
- defaultState()
|
|
|
- }, [isForward])
|
|
|
-
|
|
|
- useEffect(() => {
|
|
|
- defaultState()
|
|
|
- },[companionId])
|
|
|
+ }, [isReply,isForward,companionId])
|
|
|
|
|
|
return (
|
|
|
<div className={value || file || status === 'stopped' || _status === 'stopped' ?classes.containerActive:classes.container}>
|
|
|
{isArrow && <div className={classes.borderTop}></div>}
|
|
|
- {isReply && <ReplyBar isReply={isReply} handleCloseReply={handleCloseReply} handleScrollToTheMessage={handleScrollToTheMessage} />}
|
|
|
- {isForward &&
|
|
|
- <div className={classes.overlay} id='overlay'>
|
|
|
- <ForwardSearchList/>
|
|
|
- </div>}
|
|
|
- {/* {isForward && <ForwardBar isForward={isForward} handleCloseForward={handleCloseForward} handleScrollToTheMessage={handleScrollToTheMessage}/>} */}
|
|
|
+ {isReply && <ReplyBar isReply={isReply} handleCloseReply={handleCloseReply}
|
|
|
+ handleScrollToTheMessage={handleScrollToTheMessage} />}
|
|
|
+ {isForward && modalForward && <ForwardSearchList setModalForward={setModalForward}
|
|
|
+ setIsForward={setIsForward} companionId={companionId}/>}
|
|
|
+ {isForward && !modalForward && <ForwardBar companionId={companionId}
|
|
|
+ isForward={isForward} handleCloseForward={handleCloseForward}
|
|
|
+ handleScrollToTheMessage={handleScrollToTheMessage} setIsForward={setIsForward}/>}
|
|
|
{isFilming && _status !== 'stopped' &&
|
|
|
<>
|
|
|
<div className={classes.pauseLeft}>
|
|
@@ -542,13 +537,13 @@ const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForwa
|
|
|
|| (_status === 'stopped'&&type) ? 'inline-block' : 'none'}} />
|
|
|
<VideocamIcon onClick={handleFilming} className={classes.avatarCamera}
|
|
|
sx={{backgroundColor: '#ffffff', color: '#6b6b6b', width: 56, height: 56}}
|
|
|
- style={{ display: status !== null || _status === 'stopped' || file || value || isFilming || isReply ? 'none' : 'block' }} />
|
|
|
+ style={{ display: status !== null || _status === 'stopped' || file || value || isFilming || isReply || isForward? 'none' : 'block' }} />
|
|
|
<SendIcon onClick={sentMessage} className={classes.avatarRight}
|
|
|
sx={{backgroundColor: '#ffffff',color: 'rgb(41, 139, 231)', width: 56, height: 56}}
|
|
|
style={{display: value || file || status === 'stopped' || _status === 'stopped' ? 'block':'none' }}/>
|
|
|
<MicNoneIcon onClick={handleRecording} className={classes.avatarRight}
|
|
|
sx={{backgroundColor:'#ffffff',color: '#6b6b6b', width: 56, height: 56}}
|
|
|
- style={{display: !value && !file && status !== 'stopped' && _status === null&&!isRecording && !isReply ? 'block' : 'none'}}/>
|
|
|
+ style={{display: !value && !file && status !== 'stopped' && _status === null&&!isRecording && !isReply && !isForward ? 'block' : 'none'}}/>
|
|
|
<SentimentSatisfiedAltIcon onClick={handleOpenEmoji}
|
|
|
fontSize='medium' sx={{color: isOpenEmoji ? 'rgb(41, 139, 231)' : '#6b6b6b', cursor: 'pointer',
|
|
|
pointerEvents: file || status || _status ? 'none' : "auto",
|
|
@@ -566,11 +561,11 @@ const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForwa
|
|
|
<div onClick={handleCloseCaption} className={classes.overlay} id='overlay'
|
|
|
style={{ display: isOpenCaption ? 'block' : 'none' }}>
|
|
|
{isOpenCaptionEmoji && <div className={classes.emoji}
|
|
|
- style={{ left: rightIsOpen ? '32.5vw' : '45vw',bottom:isReply?'23vh':'16vh' }}>
|
|
|
+ style={{ left: rightIsOpen ? '32.5vw' : '45vw',bottom:isReply || isForward?'23vh':'16vh' }}>
|
|
|
<Picker onEmojiClick={(e,obj) => onEmojiClick(e,obj,'caption')} />
|
|
|
</div>}
|
|
|
<TextField className={classes.captionTextField} onChange={handleTextareaCaption}
|
|
|
- style={{ left: rightIsOpen ? '32.5vw' : '45vw', top: isReply?'78.5vh':'85vh' }}
|
|
|
+ style={{ left: rightIsOpen ? '32.5vw' : '45vw', top: isReply || isForward?'78.5vh':'85vh' }}
|
|
|
placeholder='Caption' value={caption} id="caption" name='caption' variant='outlined'
|
|
|
InputProps={{
|
|
|
startAdornment: (<InputAdornment position="start">
|
|
@@ -589,11 +584,11 @@ const SendMessage = ({isArrow,silentMode,isReply,setIsReply,isForward,setIsForwa
|
|
|
<PhotoCameraFrontIcon onClick={handleOpenCamera} fontSize='medium'
|
|
|
sx={{color: isOpenCamera || type === 'base64' ? 'rgb(62, 149, 231)' : '#6b6b6b', marginRight: 1, cursor: 'pointer',
|
|
|
pointerEvents: type === 'content' || type === 'application' || value || status !== null
|
|
|
- || _status !== null || isReply ? 'none' : "auto",
|
|
|
+ || _status !== null || isReply || isForward ? 'none' : "auto",
|
|
|
'&:hover': { color: 'rgb(41, 139, 231)'}}}/>
|
|
|
<AttachFileIcon onClick={handleOpenFileMenu} className={classes.attachIcon}
|
|
|
fontSize='medium' sx={{color: isOpenMenu || type === 'content' || type === 'application' ? 'rgb(41, 139, 231)' : '#6b6b6b', cursor: 'pointer',
|
|
|
- pointerEvents: type === 'base64' || value || status !== null || _status !== null || isReply ? 'none' : "auto", '&:hover':
|
|
|
+ pointerEvents: type === 'base64' || value || status !== null || _status !== null || isReply || isForward? 'none' : "auto", '&:hover':
|
|
|
{ color: 'rgb(41, 139, 231)'}}}/>
|
|
|
<div onClick={handleCloseFileMenu} className={classes.overlay} id='overlay'
|
|
|
style={{ display: isOpenMenu ? 'block':'none'}}>
|