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;