blob: 48053075fcfd0e37b4ec0f3af2a308905be274ef [file] [log] [blame]
Adrien Béraudab519ff2022-05-03 15:34:48 -04001import List from '@mui/material/List'
Adrien Béraud995e8022021-04-08 13:46:51 -04002import React from 'react'
3import ConversationListItem from './ConversationListItem'
Adrien Béraudab519ff2022-05-03 15:34:48 -04004import ListSubheader from '@mui/material/ListSubheader';
Adrien Béraud35e7d7c2021-04-13 03:28:39 -04005import Conversation from '../../../model/Conversation';
Adrien Béraudab519ff2022-05-03 15:34:48 -04006import { GroupRounded as GroupIcon } from '@mui/icons-material';
7import Typography from '@mui/material/Typography';
Adrien Béraud995e8022021-04-08 13:46:51 -04008
Adrien Béraudaf09a462021-04-15 18:02:29 -04009export default function ConversationList(props) {
10 return (
11 <div className="rooms-list">
12 <List>
13 {props.search instanceof Conversation &&
14 (<div>
15 <ListSubheader>Public directory</ListSubheader>
16 <ConversationListItem conversation={props.search} />
Adrien Béraud35e7d7c2021-04-13 03:28:39 -040017 <ListSubheader>Conversations</ListSubheader>
Adrien Béraudaf09a462021-04-15 18:02:29 -040018 </div>)}
19 {props.conversations.map(conversation =>
20 <ConversationListItem key={conversation.getId()} conversation={conversation} />
21 )}
22 {props.conversations.length === 0 && (
23 <div className="list-placeholder">
Adrien Béraud150b4782021-04-21 19:40:59 -040024 <GroupIcon color="disabled" fontSize="large" />
Adrien Béraudaf09a462021-04-15 18:02:29 -040025 <Typography className="subtitle" variant="subtitle2">No conversation yet</Typography>
26 </div>
27 )}
28 </List>
29 </div>
30 )
Adrien Béraud995e8022021-04-08 13:46:51 -040031}