@@ -5,16 +5,18 @@ import format from 'date-fns/format';
5
5
import { scrollToBottom } from '../../../../../../utils/messages' ;
6
6
import { MessageTypes , Link , CustomCompMessage , GlobalState } from '../../../../../../store/types' ;
7
7
import { setBadgeCount , markAllMessagesRead } from '../../../../../../store/actions' ;
8
+ import { MESSAGE_SENDER } from '../../../../../../constants' ;
8
9
9
10
import Loader from './components/Loader' ;
10
11
import './styles.scss' ;
11
12
12
13
type Props = {
13
14
showTimeStamp : boolean ,
14
15
profileAvatar ?: string ;
16
+ profileClientAvatar ?: string ;
15
17
}
16
18
17
- function Messages ( { profileAvatar, showTimeStamp } : Props ) {
19
+ function Messages ( { profileAvatar, profileClientAvatar , showTimeStamp } : Props ) {
18
20
const dispatch = useDispatch ( ) ;
19
21
const { messages, typing, showChat, badgeCount } = useSelector ( ( state : GlobalState ) => ( {
20
22
messages : state . messages . messages ,
@@ -47,13 +49,20 @@ function Messages({ profileAvatar, showTimeStamp }: Props) {
47
49
// }
48
50
// }
49
51
52
+ const isClient = ( sender ) => sender === MESSAGE_SENDER . CLIENT ;
53
+
50
54
return (
51
55
< div id = "messages" className = "rcw-messages-container" ref = { messageRef } >
52
56
{ messages ?. map ( ( message , index ) =>
53
- < div className = "rcw-message" key = { `${ index } -${ format ( message . timestamp , 'hh:mm' ) } ` } >
54
- { profileAvatar &&
55
- message . showAvatar &&
56
- < img src = { profileAvatar } className = "rcw-avatar" alt = "profile" />
57
+ < div className = { `rcw-message ${ isClient ( message . sender ) ? 'rcw-message-client' : '' } ` }
58
+ key = { `${ index } -${ format ( message . timestamp , 'hh:mm' ) } ` } >
59
+ { ( ( profileAvatar && ! isClient ( message . sender ) ) || ( profileClientAvatar && isClient ( message . sender ) ) ) &&
60
+ message . showAvatar &&
61
+ < img
62
+ src = { isClient ( message . sender ) ? profileClientAvatar : profileAvatar }
63
+ className = { `rcw-avatar ${ isClient ( message . sender ) ? 'rcw-avatar-client' : '' } ` }
64
+ alt = "profile"
65
+ />
57
66
}
58
67
{ getComponentToRender ( message ) }
59
68
</ div >
0 commit comments