/* Copyright 2024 New Vector Ltd. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE files in the repository root for full details. */ import React from "react"; import DisambiguatedProfile from "../../../messages/DisambiguatedProfile"; import { RoomMember } from "../../../../../models/rooms/RoomMember"; import { useMemberTileViewModel } from "../../../../viewmodels/memberlist/tiles/MemberTileViewModel"; import { E2EIconView } from "./common/E2EIconView"; import AvatarPresenceIconView from "./common/PresenceIconView"; import BaseAvatar from "../../../avatars/BaseAvatar"; import { _t } from "../../../../../languageHandler"; import { MemberTileLayout } from "./common/MemberTileLayout"; interface IProps { member: RoomMember; showPresence?: boolean; } export function RoomMemberTileView(props: IProps): JSX.Element { const vm = useMemberTileViewModel(props); const member = vm.member; const av = ( ); const name = vm.name; const nameJSX = ; const presenceState = member.presenceState; let presenceJSX: JSX.Element | undefined; if (vm.showPresence && presenceState) { presenceJSX = ; } let userLabelJSX; if (vm.userLabel) { userLabelJSX =
{vm.userLabel}
; } let e2eIcon; if (vm.e2eStatus) { e2eIcon = ; } return ( ); }