diff --git a/.changeset/plenty-baboons-kneel.md b/.changeset/plenty-baboons-kneel.md new file mode 100644 index 0000000000000..338a3a21dfa68 --- /dev/null +++ b/.changeset/plenty-baboons-kneel.md @@ -0,0 +1,7 @@ +--- +'@rocket.chat/ui-client': minor +'@rocket.chat/meteor': minor +--- + +Places the room topic next to the room title +> This change is being tested under `Enhanced navigation experience` feature preview, in order to check it you need to enabled it diff --git a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx index 87afd65918ddb..6e138fca2a9c7 100644 --- a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx @@ -9,6 +9,7 @@ import ParentRoomWithData from './ParentRoomWithData'; import ParentTeam from './ParentTeam'; import RoomTitle from './RoomTitle'; import RoomToolbox from './RoomToolbox'; +import RoomTopic from './RoomTopic'; import Encrypted from './icons/Encrypted'; import Favorite from './icons/Favorite'; import Translate from './icons/Translate'; @@ -47,6 +48,7 @@ const RoomHeader = ({ room, slots = {}, roomToolbox }: RoomHeaderProps) => { {isRoomFederated(room) && } + {slots?.insideContent} diff --git a/apps/meteor/client/views/room/HeaderV2/RoomTitle.tsx b/apps/meteor/client/views/room/HeaderV2/RoomTitle.tsx index b9910522d59b4..77b9ecafbd3e8 100644 --- a/apps/meteor/client/views/room/HeaderV2/RoomTitle.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomTitle.tsx @@ -46,7 +46,7 @@ const RoomTitle = ({ room }: RoomTitleProps) => { mie={4} > - {room.name} + {room.name} ); }; diff --git a/apps/meteor/client/views/room/body/RoomTopic.spec.tsx b/apps/meteor/client/views/room/HeaderV2/RoomTopic.spec.tsx similarity index 94% rename from apps/meteor/client/views/room/body/RoomTopic.spec.tsx rename to apps/meteor/client/views/room/HeaderV2/RoomTopic.spec.tsx index e26c52d71a80a..6703d5836e71e 100644 --- a/apps/meteor/client/views/room/body/RoomTopic.spec.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomTopic.spec.tsx @@ -3,7 +3,7 @@ import { mockAppRoot } from '@rocket.chat/mock-providers'; import type { SubscriptionWithRoom } from '@rocket.chat/ui-contexts'; import { render, screen } from '@testing-library/react'; -import { RoomTopic } from './RoomTopic'; +import RoomTopic from './RoomTopic'; import FakeRoomProvider from '../../../../tests/mocks/client/FakeRoomProvider'; import { createFakeRoom, createFakeSubscription, createFakeUser } from '../../../../tests/mocks/data'; @@ -36,7 +36,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -56,7 +56,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -75,7 +75,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -96,7 +96,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -115,7 +115,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -137,7 +137,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -159,7 +159,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() @@ -179,7 +179,7 @@ describe('RoomTopic', () => { render( - + , { wrapper: mockAppRoot() diff --git a/apps/meteor/client/views/room/body/RoomTopic.tsx b/apps/meteor/client/views/room/HeaderV2/RoomTopic.tsx similarity index 63% rename from apps/meteor/client/views/room/body/RoomTopic.tsx rename to apps/meteor/client/views/room/HeaderV2/RoomTopic.tsx index 0c9a1c79a870a..abe34ab0f3252 100644 --- a/apps/meteor/client/views/room/body/RoomTopic.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomTopic.tsx @@ -1,7 +1,6 @@ -import type { IRoom, IUser } from '@rocket.chat/core-typings'; +import type { IRoom } from '@rocket.chat/core-typings'; import { isDirectMessageRoom, isPrivateRoom, isPublicRoom, isTeamRoom } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; -import { RoomBanner, RoomBannerContent } from '@rocket.chat/ui-client'; import { useUserId, useTranslation, useRouter, useUserPresence } from '@rocket.chat/ui-contexts'; import MarkdownText from '../../../components/MarkdownText'; @@ -9,10 +8,9 @@ import { useCanEditRoom } from '../contextualBar/Info/hooks/useCanEditRoom'; type RoomTopicProps = { room: IRoom; - user: IUser | null; }; -export const RoomTopic = ({ room }: RoomTopicProps) => { +const RoomTopic = ({ room }: RoomTopicProps) => { const t = useTranslation(); const canEdit = useCanEditRoom(room); const userId = useUserId(); @@ -26,21 +24,19 @@ export const RoomTopic = ({ room }: RoomTopicProps) => { const topic = isDirectMessageRoom(room) && (room.uids?.length ?? 0) < 3 ? directUserData?.statusText : room.topic; const canEditTopic = canEdit && (isPublicRoom(room) || isPrivateRoom(room)); - if (!topic && !canEdit) { + if (!topic && !canEditTopic) { return null; } - return ( - - - {!topic && canEditTopic ? ( - - {t('Add_topic')} - - ) : ( - - )} - - - ); + if (!topic && canEditTopic) { + return ( + + {t('Add_topic')} + + ); + } + + return ; }; + +export default RoomTopic; diff --git a/apps/meteor/client/views/room/body/RoomBodyV2.tsx b/apps/meteor/client/views/room/body/RoomBodyV2.tsx index 98232baa648d2..fc6108a348e65 100644 --- a/apps/meteor/client/views/room/body/RoomBodyV2.tsx +++ b/apps/meteor/client/views/room/body/RoomBodyV2.tsx @@ -25,7 +25,6 @@ import { useDateScroll } from '../hooks/useDateScroll'; import { useMessageListNavigation } from '../hooks/useMessageListNavigation'; import { useRetentionPolicy } from '../hooks/useRetentionPolicy'; import RoomForeword from './RoomForeword/RoomForeword'; -import { RoomTopic } from './RoomTopic'; import UnreadMessagesIndicator from './UnreadMessagesIndicator'; import { UploadProgressContainer, UploadProgressIndicator } from './UploadProgress'; import { useBannerSection } from './hooks/useBannerSection'; @@ -193,7 +192,6 @@ const RoomBody = (): ReactElement => { <> - {!isLayoutEmbedded && room.announcement && } diff --git a/packages/ui-client/src/components/HeaderV2/Header.tsx b/packages/ui-client/src/components/HeaderV2/Header.tsx index ee5580b4b7472..4515a5fc6104c 100644 --- a/packages/ui-client/src/components/HeaderV2/Header.tsx +++ b/packages/ui-client/src/components/HeaderV2/Header.tsx @@ -10,7 +10,16 @@ const Header = (props: HeaderProps) => { const { isMobile } = useLayout(); return ( - + ; -const HeaderTitle = (props: HeaderTitleProps) => ; +const HeaderTitle = (props: HeaderTitleProps) => ; export default HeaderTitle;