fix(breakout-rooms) make sure participants in breakout rooms have a display name
This commit is contained in:
parent
d9f71ee238
commit
591eab7c97
|
@ -1,6 +1,7 @@
|
|||
// @flow
|
||||
|
||||
import React from 'react';
|
||||
import { useSelector } from 'react-redux';
|
||||
|
||||
import { isParticipantModerator } from '../../../base/participants';
|
||||
import ParticipantItem from '../../../participants-pane/components/native/ParticipantItem';
|
||||
|
@ -11,15 +12,19 @@ type Props = {
|
|||
* Participant to be displayed.
|
||||
*/
|
||||
item: Object
|
||||
}
|
||||
};
|
||||
|
||||
const BreakoutRoomParticipantItem = ({ item }: Props) => (
|
||||
<ParticipantItem
|
||||
displayName = { item.displayName }
|
||||
isKnockingParticipant = { false }
|
||||
isModerator = { isParticipantModerator(item) }
|
||||
key = { item.jid }
|
||||
participantID = { item.jid } />
|
||||
);
|
||||
const BreakoutRoomParticipantItem = ({ item }: Props) => {
|
||||
const { defaultRemoteDisplayName } = useSelector(state => state['features/base/config']);
|
||||
|
||||
return (
|
||||
<ParticipantItem
|
||||
displayName = { item.displayName || defaultRemoteDisplayName }
|
||||
isKnockingParticipant = { false }
|
||||
isModerator = { isParticipantModerator(item) }
|
||||
key = { item.jid }
|
||||
participantID = { item.jid } />
|
||||
);
|
||||
};
|
||||
|
||||
export default BreakoutRoomParticipantItem;
|
||||
|
|
|
@ -64,7 +64,8 @@ export const CollapsibleRoom = ({ room }: Props) => {
|
|||
data = { Object.values(room.participants || {}) }
|
||||
horizontal = { false }
|
||||
keyExtractor = { _keyExtractor }
|
||||
renderItem = { BreakoutRoomParticipantItem }
|
||||
// eslint-disable-next-line react/jsx-no-bind
|
||||
renderItem = { item => <BreakoutRoomParticipantItem item = { item } /> }
|
||||
showsHorizontalScrollIndicator = { false }
|
||||
windowSize = { 2 } />}
|
||||
</View>
|
||||
|
|
|
@ -4,6 +4,7 @@ import { makeStyles } from '@material-ui/styles';
|
|||
import clsx from 'clsx';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useSelector } from 'react-redux';
|
||||
|
||||
import { ListItem } from '../../../base/components';
|
||||
import { Icon, IconArrowDown, IconArrowUp } from '../../../base/icons';
|
||||
|
@ -88,6 +89,7 @@ export const CollapsibleRoom = ({
|
|||
const raiseMenu = useCallback(target => {
|
||||
onRaiseMenu(target);
|
||||
}, [ onRaiseMenu ]);
|
||||
const { defaultRemoteDisplayName } = useSelector(state => state['features/base/config']);
|
||||
|
||||
const arrow = (<div className = { styles.arrowContainer }>
|
||||
<Icon
|
||||
|
@ -116,7 +118,7 @@ export const CollapsibleRoom = ({
|
|||
{!collapsed && room?.participants
|
||||
&& Object.values(room?.participants || {}).map((p: Object) => (
|
||||
<ParticipantItem
|
||||
displayName = { p.displayName }
|
||||
displayName = { p.displayName || defaultRemoteDisplayName }
|
||||
key = { p.jid }
|
||||
local = { false }
|
||||
participantID = { p.jid } />
|
||||
|
|
Loading…
Reference in New Issue