blob: b2fca5e0fead42d7cc2dc4b37fb7392a8929e60c [file] [log] [blame]
Larbi Gharibe9af9732021-03-31 15:08:01 +01001import Message from './Message'
Adrien Béraud4e287b92021-04-24 16:15:56 -04002import React, { useEffect } from 'react'
Adrien Béraud150b4782021-04-21 19:40:59 -04003import { Box, Divider, Typography } from '@material-ui/core'
4import ConversationAvatar from './ConversationAvatar'
Adrien Béraud4e287b92021-04-24 16:15:56 -04005const reverseMap = (arr, f) => arr.map((_, idx, arr) => f(arr[arr.length - 1 - idx ]));
Larbi Gharibe9af9732021-03-31 15:08:01 +01006
Adrien Béraudaf09a462021-04-15 18:02:29 -04007export default function MessageList(props) {
Adrien Béraud150b4782021-04-21 19:40:59 -04008 const displayName = props.conversation.getDisplayName()
Adrien Béraud4e287b92021-04-24 16:15:56 -04009 const messages = props.conversation.getMessages()
10 console.log("MessageList render " + messages.length)
11
12 useEffect(() => {
13 props.loadMore()
14 }, [props.conversation.getId()])
15
Adrien Béraud150b4782021-04-21 19:40:59 -040016 return (
Adrien Béraud4e287b92021-04-24 16:15:56 -040017 <React.Fragment>
18 <Box className="conversation-header">
Adrien Béraud150b4782021-04-21 19:40:59 -040019 <Box style={{ display: 'inline-block', margin: 16, verticalAlign: 'middle' }}>
20 <ConversationAvatar displayName={props.conversation.getDisplayNameNoFallback()} />
21 </Box>
22 <Box style={{ display: 'inline-block', verticalAlign: 'middle' }}>
23 <Typography variant="h6">{displayName}</Typography>
24 <Typography variant="subtitle1">{props.conversation.getId()}</Typography>
25 </Box>
Adrien Béraud4e287b92021-04-24 16:15:56 -040026 <Divider orientation="horizontal" />
Adrien Béraud150b4782021-04-21 19:40:59 -040027 </Box>
Adrien Béraud4e287b92021-04-24 16:15:56 -040028 <div className="message-list">
29 <div className="message-list-inner">
30 {reverseMap(messages, (message) => <Message key={message.id} message={message} />)}
31 </div>
32 </div>
33 </React.Fragment>
Adrien Béraud150b4782021-04-21 19:40:59 -040034 )
Adrien Béraudaf09a462021-04-15 18:02:29 -040035}