Skip to content

Commit 2561caa

Browse files
feat: added invitation badge to room members list
1 parent de8684c commit 2561caa

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersItem.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@ import { useState } from 'react';
1717

1818
import UserActions from './RoomMembersActions';
1919
import { getUserDisplayNames } from '../../../../../lib/getUserDisplayNames';
20+
import InvitationBadge from '../../../../components/InvitationBadge';
2021
import { ReactiveUserStatus } from '../../../../components/UserStatus';
2122
import { usePreventPropagation } from '../../../../hooks/usePreventPropagation';
2223
import type { RoomMember } from '../../../hooks/useMembersList';
2324

24-
type RoomMembersItemProps = Pick<RoomMember, 'federated' | 'username' | 'name' | '_id' | 'freeSwitchExtension'> & {
25+
type RoomMembersItemProps = Pick<RoomMember, 'federated' | 'username' | 'name' | '_id' | 'freeSwitchExtension' | 'subscription'> & {
2526
rid: IRoom['_id'];
2627
useRealName: boolean;
2728
reload: () => void;
@@ -38,9 +39,12 @@ const RoomMembersItem = ({
3839
rid,
3940
reload,
4041
useRealName,
42+
subscription,
4143
}: RoomMembersItemProps): ReactElement => {
4244
const [showButton, setShowButton] = useState();
4345
const isReduceMotionEnabled = usePrefersReducedMotion();
46+
const isInvited = subscription?.status === 'INVITED';
47+
const invitationDate = isInvited ? subscription?.ts : undefined;
4448
const handleMenuEvent = {
4549
[isReduceMotionEnabled ? 'onMouseEnter' : 'onTransitionEnd']: setShowButton,
4650
};
@@ -58,6 +62,11 @@ const RoomMembersItem = ({
5862
<OptionContent data-qa={`MemberItem-${username}`}>
5963
{nameOrUsername} {displayUsername && <OptionDescription>({displayUsername})</OptionDescription>}
6064
</OptionContent>
65+
{isInvited && (
66+
<OptionColumn>
67+
<InvitationBadge mbs={2} size='x20' invitationDate={invitationDate} />
68+
</OptionColumn>
69+
)}
6170
<OptionMenu onClick={preventPropagation}>
6271
{showButton ? (
6372
<UserActions username={username} name={name} rid={rid} _id={_id} freeSwitchExtension={freeSwitchExtension} reload={reload} />

apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersRow.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import RoomMembersItem from './RoomMembersItem';
66
import type { RoomMember } from '../../../hooks/useMembersList';
77

88
type RoomMembersRowProps = {
9-
user: Pick<RoomMember, 'federated' | 'username' | 'name' | '_id' | 'freeSwitchExtension'>;
9+
user: Pick<RoomMember, 'federated' | 'username' | 'name' | '_id' | 'freeSwitchExtension' | 'subscription'>;
1010
data: {
1111
onClickView: (e: MouseEvent<HTMLElement>) => void;
1212
rid: IRoom['_id'];
@@ -31,6 +31,7 @@ const RoomMembersRow = ({ user, data: { onClickView, rid }, index, reload, useRe
3131
name={user.name}
3232
federated={user.federated}
3333
freeSwitchExtension={user.freeSwitchExtension}
34+
subscription={user.subscription}
3435
onClickView={onClickView}
3536
reload={reload}
3637
/>

0 commit comments

Comments
 (0)