diff --git a/.changeset/rotten-peaches-cry.md b/.changeset/rotten-peaches-cry.md new file mode 100644 index 0000000000000..3a6ab5314a4a5 --- /dev/null +++ b/.changeset/rotten-peaches-cry.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Removes the Leader role from the room header. Leaders are now displayed in their respective group within the room's members list. diff --git a/apps/meteor/client/views/room/body/LeaderBar.tsx b/apps/meteor/client/views/room/body/LeaderBar.tsx deleted file mode 100644 index 8fceaf3efa7c9..0000000000000 --- a/apps/meteor/client/views/room/body/LeaderBar.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import type { IUser } from '@rocket.chat/core-typings'; -import { css } from '@rocket.chat/css-in-js'; -import { Box, Button } from '@rocket.chat/fuselage'; -import { UserAvatar } from '@rocket.chat/ui-avatar'; -import type { ReactElement, UIEvent } from 'react'; -import { memo, useCallback, useMemo } from 'react'; -import type { AriaButtonProps } from 'react-aria'; -import { useTranslation } from 'react-i18next'; - -import { isTruthy } from '../../../../lib/isTruthy'; -import { ReactiveUserStatus } from '../../../components/UserStatus'; -import { roomCoordinator } from '../../../lib/rooms/roomCoordinator'; - -type LeaderBarProps = { - _id: IUser['_id']; - name: IUser['name']; - username: IUser['username']; - visible: boolean; - onAvatarClick?: (event: UIEvent, username: IUser['username']) => void; - triggerProps: AriaButtonProps<'button'>; -}; -/** - * @deprecated on newNavigation feature. Remove after full migration. - */ -const LeaderBar = ({ _id, name, username, visible, onAvatarClick, triggerProps }: LeaderBarProps): ReactElement => { - const { t } = useTranslation(); - - const chatNowLink = useMemo(() => roomCoordinator.getRouteLink('d', { name: username }) || undefined, [username]); - - const handleAvatarClick = useCallback( - (event: UIEvent) => { - onAvatarClick?.(event, username); - }, - [onAvatarClick, username], - ); - - if (!username) { - throw new Error('username is required'); - } - - const roomLeaderStyle = css` - position: relative; - z-index: 9; - right: 0; - left: 0; - display: flex; - - &.animated-hidden { - display: none !important; - } - `; - - return ( - - - - - - - - - {name} - - - - - - ); -}; - -export default memo(LeaderBar); diff --git a/apps/meteor/client/views/room/body/RoomBody.tsx b/apps/meteor/client/views/room/body/RoomBody.tsx index f2ebae6959c36..02e3726176ac4 100644 --- a/apps/meteor/client/views/room/body/RoomBody.tsx +++ b/apps/meteor/client/views/room/body/RoomBody.tsx @@ -1,13 +1,11 @@ -import type { IUser } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; import { useMergedRefs } from '@rocket.chat/fuselage-hooks'; import { usePermission, useRole, useSetting, useTranslation, useUser, useUserPreference } from '@rocket.chat/ui-contexts'; -import type { MouseEvent, ReactElement, UIEvent } from 'react'; +import type { MouseEvent, ReactElement } from 'react'; import { memo, useCallback, useMemo, useRef } from 'react'; import DropTargetOverlay from './DropTargetOverlay'; import JumpToRecentMessageButton from './JumpToRecentMessageButton'; -import LeaderBar from './LeaderBar'; import { RoomRoles } from '../../../../app/models/client'; import { isTruthy } from '../../../../lib/isTruthy'; import { CustomScrollbars } from '../../../components/CustomScrollbars'; @@ -24,7 +22,6 @@ import RoomComposer from '../composer/RoomComposer/RoomComposer'; import { useChat } from '../contexts/ChatContext'; import { useRoom, useRoomSubscription, useRoomMessages } from '../contexts/RoomContext'; import { useRoomToolbox } from '../contexts/RoomToolboxContext'; -import { useUserCard } from '../contexts/UserCardContext'; import { useDateScroll } from '../hooks/useDateScroll'; import { useMessageListNavigation } from '../hooks/useMessageListNavigation'; import { useRetentionPolicy } from '../hooks/useRetentionPolicy'; @@ -181,19 +178,6 @@ const RoomBody = (): ReactElement => { [toolbox], ); - const { openUserCard, triggerProps } = useUserCard(); - - const handleOpenUserCard = useCallback( - (event: UIEvent, username: IUser['username']) => { - if (!username) { - return; - } - - openUserCard(event, username); - }, - [openUserCard], - ); - useGoToHomeOnRemoved(room, user?._id); useReadMessageWindowEvents(); useQuoteMessageByUrl(); @@ -229,16 +213,6 @@ const RoomBody = (): ReactElement => {
- {roomLeader ? ( - - ) : null} {uploads.length > 0 && ( {uploads.map((upload) => (