diff --git a/apps/meteor/client/components/InfoPanel/InfoPanel.stories.tsx b/apps/meteor/client/components/InfoPanel/InfoPanel.stories.tsx index 1d8987995e8c..b94706b428de 100644 --- a/apps/meteor/client/components/InfoPanel/InfoPanel.stories.tsx +++ b/apps/meteor/client/components/InfoPanel/InfoPanel.stories.tsx @@ -1,7 +1,17 @@ import type { ComponentMeta, ComponentStory } from '@storybook/react'; import React from 'react'; -import InfoPanel from '.'; +import { + InfoPanel, + InfoPanelAction, + InfoPanelActionGroup, + InfoPanelAvatar, + InfoPanelField, + InfoPanelLabel, + InfoPanelSection, + InfoPanelText, + InfoPanelTitle, +} from '.'; import { createFakeRoom } from '../../../tests/mocks/data'; import RetentionPolicyCallout from './RetentionPolicyCallout'; @@ -9,14 +19,14 @@ export default { title: 'Info Panel/InfoPanel', component: InfoPanel, subcomponents: { - 'InfoPanel.Action': InfoPanel.Action, - 'InfoPanel.ActionGroup': InfoPanel.ActionGroup, - 'InfoPanel.Avatar': InfoPanel.Avatar, - 'InfoPanel.Field': InfoPanel.Field, - 'InfoPanel.Label': InfoPanel.Label, - 'InfoPanel.Section': InfoPanel.Section, - 'InfoPanel.Text': InfoPanel.Text, - 'InfoPanel.Title': InfoPanel.Title, + InfoPanelAction, + InfoPanelActionGroup, + InfoPanelAvatar, + InfoPanelField, + InfoPanelLabel, + InfoPanelSection, + InfoPanelText, + InfoPanelTitle, RetentionPolicyCallout, }, } as ComponentMeta; @@ -25,62 +35,37 @@ const fakeRoom = createFakeRoom(); export const Default: ComponentStory = () => ( - - - - + + + + - - - Description - + + + Description + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis nisi vel arcu bibendum vehicula. Integer vitae suscipit libero - - - - Announcement - + + + + Announcement + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis nisi vel arcu bibendum vehicula. Integer vitae suscipit libero - - - - Topic - + + + + Topic + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam mollis nisi vel arcu bibendum vehicula. Integer vitae suscipit libero - - - - - + + + + - + ); Default.storyName = 'InfoPanel'; - -// export const Archived = () => -// -// ; - -// export const Broadcast = () => -// -// ; diff --git a/apps/meteor/client/components/InfoPanel/index.ts b/apps/meteor/client/components/InfoPanel/index.ts index b2656d62ef37..6b9387522438 100644 --- a/apps/meteor/client/components/InfoPanel/index.ts +++ b/apps/meteor/client/components/InfoPanel/index.ts @@ -1,20 +1,9 @@ -import InfoPanel from './InfoPanel'; -import InfoPanelAction from './InfoPanelAction'; -import InfoPanelActionGroup from './InfoPanelActionGroup'; -import InfoPanelAvatar from './InfoPanelAvatar'; -import InfoPanelField from './InfoPanelField'; -import InfoPanelLabel from './InfoPanelLabel'; -import InfoPanelSection from './InfoPanelSection'; -import InfoPanelText from './InfoPanelText'; -import InfoPanelTitle from './InfoPanelTitle'; - -export default Object.assign(InfoPanel, { - Title: InfoPanelTitle, - Label: InfoPanelLabel, - Text: InfoPanelText, - Avatar: InfoPanelAvatar, - Field: InfoPanelField, - Action: InfoPanelAction, - Section: InfoPanelSection, - ActionGroup: InfoPanelActionGroup, -}); +export { default as InfoPanel } from './InfoPanel'; +export { default as InfoPanelAction } from './InfoPanelAction'; +export { default as InfoPanelActionGroup } from './InfoPanelActionGroup'; +export { default as InfoPanelAvatar } from './InfoPanelAvatar'; +export { default as InfoPanelField } from './InfoPanelField'; +export { default as InfoPanelLabel } from './InfoPanelLabel'; +export { default as InfoPanelSection } from './InfoPanelSection'; +export { default as InfoPanelText } from './InfoPanelText'; +export { default as InfoPanelTitle } from './InfoPanelTitle'; diff --git a/apps/meteor/client/components/UserInfo/UserInfo.tsx b/apps/meteor/client/components/UserInfo/UserInfo.tsx index a4656373b488..a7f32f82f454 100644 --- a/apps/meteor/client/components/UserInfo/UserInfo.tsx +++ b/apps/meteor/client/components/UserInfo/UserInfo.tsx @@ -9,7 +9,16 @@ import { useTimeAgo } from '../../hooks/useTimeAgo'; import { useUserCustomFields } from '../../hooks/useUserCustomFields'; import { useUserDisplayName } from '../../hooks/useUserDisplayName'; import { ContextualbarScrollableContent } from '../Contextualbar'; -import InfoPanel from '../InfoPanel'; +import { + InfoPanel, + InfoPanelActionGroup, + InfoPanelAvatar, + InfoPanelField, + InfoPanelLabel, + InfoPanelSection, + InfoPanelText, + InfoPanelTitle, +} from '../InfoPanel'; import MarkdownText from '../MarkdownText'; import UTCClock from '../UTCClock'; import { UserCardRoles } from '../UserCard'; @@ -72,119 +81,119 @@ const UserInfo = ({ {username && ( - + - + )} - {actions && {actions}} + {actions && {actions}} - - {userDisplayName && } + + {userDisplayName && } {statusText && ( - + - + )} - + - + {reason && ( - - {t('Reason_for_joining')} - {reason} - + + {t('Reason_for_joining')} + {reason} + )} {nickname && ( - - {t('Nickname')} - {nickname} - + + {t('Nickname')} + {nickname} + )} {roles.length !== 0 && ( - - {t('Roles')} + + {t('Roles')} {roles} - + )} {username && username !== name && ( - - {t('Username')} - {username} - + + {t('Username')} + {username} + )} {Number.isInteger(utcOffset) && ( - - {t('Local_Time')} - {utcOffset && } - + + {t('Local_Time')} + {utcOffset && } + )} {bio && ( - - {t('Bio')} - + + {t('Bio')} + - - + + )} {Number.isInteger(utcOffset) && canViewAllInfo && ( - - {t('Last_login')} - {lastLogin ? timeAgo(lastLogin) : t('Never')} - + + {t('Last_login')} + {lastLogin ? timeAgo(lastLogin) : t('Never')} + )} {phone && ( - - {t('Phone')} - + + {t('Phone')} + {phone} - - + + )} {email && ( - - {t('Email')} - + + {t('Email')} + {email} {verified ? t('Verified') : t('Not_verified')} - - + + )} {userCustomFields?.map( (customField) => customField?.value && ( - - {t(customField.label as TranslationKey)} - + + {t(customField.label as TranslationKey)} + - - + + ), )} {createdAt && ( - - {t('Created_at')} - {timeAgo(createdAt)} - + + {t('Created_at')} + {timeAgo(createdAt)} + )} - + ); diff --git a/apps/meteor/client/components/UserInfo/index.ts b/apps/meteor/client/components/UserInfo/index.ts index f8fe955dbe49..cc0d768541fe 100644 --- a/apps/meteor/client/components/UserInfo/index.ts +++ b/apps/meteor/client/components/UserInfo/index.ts @@ -1,13 +1,4 @@ -import InfoPanel from '../InfoPanel'; -import UserInfo from './UserInfo'; -import UserInfoAction from './UserInfoAction'; -import UserInfoAvatar from './UserInfoAvatar'; -import UserInfoUsername from './UserInfoUsername'; - -export default Object.assign(UserInfo, { - Action: UserInfoAction, - Avatar: UserInfoAvatar, - Info: InfoPanel.Text, - Label: InfoPanel.Label, - Username: UserInfoUsername, -}); +export { default as UserInfo } from './UserInfo'; +export { default as UserInfoAction } from './UserInfoAction'; +export { default as UserInfoAvatar } from './UserInfoAvatar'; +export { default as UserInfoUsername } from './UserInfoUsername'; diff --git a/apps/meteor/client/omnichannel/additionalForms/MaxChatsPerAgentDisplay.tsx b/apps/meteor/client/omnichannel/additionalForms/MaxChatsPerAgentDisplay.tsx index 91980f119316..8d68f0ec29f3 100644 --- a/apps/meteor/client/omnichannel/additionalForms/MaxChatsPerAgentDisplay.tsx +++ b/apps/meteor/client/omnichannel/additionalForms/MaxChatsPerAgentDisplay.tsx @@ -1,7 +1,7 @@ import { useTranslation } from '@rocket.chat/ui-contexts'; import React from 'react'; -import UserInfo from '../../components/UserInfo'; +import { InfoPanelLabel, InfoPanelText } from '../../components/InfoPanel'; import { useHasLicenseModule } from '../../hooks/useHasLicenseModule'; const MaxChatsPerAgentDisplay = ({ maxNumberSimultaneousChat = 0 }) => { @@ -14,8 +14,8 @@ const MaxChatsPerAgentDisplay = ({ maxNumberSimultaneousChat = 0 }) => { return ( <> - {t('Max_number_of_chats_per_agent')} - {maxNumberSimultaneousChat} + {t('Max_number_of_chats_per_agent')} + {maxNumberSimultaneousChat} ); }; diff --git a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx index 240e61e5878d..39f75840b813 100644 --- a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx +++ b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx @@ -13,7 +13,7 @@ import { ContextualbarFooter, ContextualbarTitle, } from '../../../../components/Contextualbar'; -import InfoPanel from '../../../../components/InfoPanel'; +import { InfoPanel, InfoPanelField, InfoPanelLabel, InfoPanelText } from '../../../../components/InfoPanel'; import { useDeviceLogout } from '../../../../hooks/useDeviceLogout'; import { useFormatDateAndTime } from '../../../../hooks/useFormatDateAndTime'; import { usePresence } from '../../../../hooks/usePresence'; @@ -43,24 +43,24 @@ const DeviceManagementInfo = ({ device, sessionId, loginAt, ip, userId, _user, o - - {t('Client')} - {clientName} - + + {t('Client')} + {clientName} + - - {t('Version')} - {rcVersion || '—'} - + + {t('Version')} + {rcVersion || '—'} + - - {t('OS')} - {`${os?.name || ''} ${os?.version || ''}`} - + + {t('OS')} + {`${os?.name || ''} ${os?.version || ''}`} + {username && ( - - {t('User')} + + {t('User')} @@ -71,23 +71,23 @@ const DeviceManagementInfo = ({ device, sessionId, loginAt, ip, userId, _user, o {`(${username})`} - + )} - - {t('Last_login')} - {formatDateAndTime(loginAt)} - + + {t('Last_login')} + {formatDateAndTime(loginAt)} + - - {t('Device_ID')} - {sessionId} - + + {t('Device_ID')} + {sessionId} + - - {t('IP_Address')} - {ip} - + + {t('IP_Address')} + {ip} + diff --git a/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx b/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx index 258e8dd8be47..c1052889f16f 100644 --- a/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx +++ b/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx @@ -4,7 +4,7 @@ import { useRoute, usePermission, useTranslation } from '@rocket.chat/ui-context import type { ReactElement } from 'react'; import React, { useCallback, useMemo } from 'react'; -import UserInfo from '../../../components/UserInfo'; +import { UserInfoAction } from '../../../components/UserInfo'; import { useActionSpread } from '../../hooks/useActionSpread'; import { useChangeAdminStatusAction } from './hooks/useChangeAdminStatusAction'; import { useChangeUserStatusAction } from './hooks/useChangeUserStatusAction'; @@ -126,7 +126,7 @@ const AdminUserInfoActions = ({ // TODO: sanitize Action type to avoid any const actions = useMemo(() => { const mapAction = ([key, { label, icon, action, disabled, title }]: any): ReactElement => ( - + ); return [...actionsDefinition.map(mapAction), menu].filter(Boolean); }, [actionsDefinition, menu]); diff --git a/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx b/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx index 68dc5f864d11..ee7bb4458311 100644 --- a/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx +++ b/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx @@ -10,7 +10,7 @@ import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress'; import { ContextualbarContent } from '../../../components/Contextualbar'; import { FormSkeleton } from '../../../components/Skeleton'; import { UserCardRole } from '../../../components/UserCard'; -import UserInfo from '../../../components/UserInfo'; +import { UserInfo } from '../../../components/UserInfo'; import { UserStatus } from '../../../components/UserStatus'; import { getUserEmailVerified } from '../../../lib/utils/getUserEmailVerified'; import AdminUserInfoActions from './AdminUserInfoActions'; diff --git a/apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx b/apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx index 2862b7e9dbb0..7b854b0f36c3 100644 --- a/apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx +++ b/apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx @@ -29,7 +29,7 @@ import { ContextualbarHeader, ContextualbarScrollableContent, } from '../../../components/Contextualbar'; -import UserInfo from '../../../components/UserInfo'; +import { UserInfoAvatar } from '../../../components/UserInfo'; import { MaxChatsPerAgent } from '../additionalForms'; type AgentEditProps = { @@ -123,7 +123,7 @@ const AgentEdit = ({ agentData, userDepartments, availableDepartments }: AgentEd
{username && ( - + )} diff --git a/apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx b/apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx index c8c5faf31bb1..350485993446 100644 --- a/apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx +++ b/apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx @@ -11,7 +11,8 @@ import { ContextualbarHeader, ContextualbarScrollableContent, } from '../../../components/Contextualbar'; -import UserInfo from '../../../components/UserInfo'; +import { InfoPanelLabel, InfoPanelText } from '../../../components/InfoPanel'; +import { UserInfoAvatar, UserInfoUsername } from '../../../components/UserInfo'; import { UserStatus } from '../../../components/UserStatus'; import { MaxChatsPerAgentDisplay } from '../additionalForms'; import AgentInfoAction from './AgentInfoAction'; @@ -50,7 +51,7 @@ const AgentInfo = ({ uid }: AgentInfoProps) => { {username && ( - + )} @@ -65,12 +66,12 @@ const AgentInfo = ({ uid }: AgentInfoProps) => { - } /> + } /> {statusLivechat && ( <> - {t('Livechat_status')} - {t(statusLivechat === 'available' ? 'Available' : 'Not_Available')} + {t('Livechat_status')} + {t(statusLivechat === 'available' ? 'Available' : 'Not_Available')} )} {MaxChatsPerAgentDisplay && } diff --git a/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/InfoField.tsx b/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/InfoField.tsx index c14e64c6c741..954f1808abaa 100644 --- a/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/InfoField.tsx +++ b/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/InfoField.tsx @@ -1,7 +1,7 @@ import type { ReactElement } from 'react'; import React from 'react'; -import InfoPanel from '../../../../../components/InfoPanel'; +import { InfoPanelField, InfoPanelLabel, InfoPanelText } from '../../../../../components/InfoPanel'; type InfoFieldPropsType = { label: string; @@ -9,8 +9,8 @@ type InfoFieldPropsType = { }; export const InfoField = ({ label, info }: InfoFieldPropsType): ReactElement => ( - - {label} - {info} - + + {label} + {info} + ); diff --git a/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx b/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx index ebfa98273e30..dab51528dc49 100644 --- a/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx +++ b/apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx @@ -14,7 +14,7 @@ import { ContextualbarScrollableContent, ContextualbarFooter, } from '../../../../../components/Contextualbar'; -import InfoPanel from '../../../../../components/InfoPanel'; +import { InfoPanel, InfoPanelField, InfoPanelLabel, InfoPanelText } from '../../../../../components/InfoPanel'; import { UserStatus } from '../../../../../components/UserStatus'; import { useIsCallReady } from '../../../../../contexts/CallContext'; import { parseOutboundPhoneNumber } from '../../../../../lib/voip/parseOutboundPhoneNumber'; @@ -52,22 +52,22 @@ export const VoipInfo = ({ room, onClickClose /* , onClickReport */ }: VoipInfo - - {t('Channel')} + + {t('Channel')} {t('Voice_Call')} - + {servedBy && } {v && _name && ( - - {t('Contact')} + + {t('Contact')} } /> - + )} {phoneNumber && } {queue && } @@ -75,11 +75,11 @@ export const VoipInfo = ({ room, onClickClose /* , onClickReport */ }: VoipInfo - - {t('Wrap_Up_Notes')} - {shouldShowWrapup ? lastMessage?.msg : t('Not_Available')} + + {t('Wrap_Up_Notes')} + {shouldShowWrapup ? lastMessage?.msg : t('Not_Available')} {shouldShowTags && ( - + {tags?.map((tag: string) => ( @@ -87,9 +87,9 @@ export const VoipInfo = ({ room, onClickClose /* , onClickReport */ }: VoipInfo ))} - + )} - + diff --git a/apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx b/apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx index 99edb04e8c31..678e5ec9f871 100644 --- a/apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx +++ b/apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx @@ -12,7 +12,17 @@ import { ContextualbarClose, ContextualbarTitle, } from '../../../../../components/Contextualbar'; -import InfoPanel from '../../../../../components/InfoPanel'; +import { + InfoPanel, + InfoPanelAction, + InfoPanelActionGroup, + InfoPanelAvatar, + InfoPanelField, + InfoPanelLabel, + InfoPanelSection, + InfoPanelText, + InfoPanelTitle, +} from '../../../../../components/InfoPanel'; import RetentionPolicyCallout from '../../../../../components/InfoPanel/RetentionPolicyCallout'; import MarkdownText from '../../../../../components/MarkdownText'; import type { Action } from '../../../../hooks/useActionSpread'; @@ -61,7 +71,7 @@ const RoomInfo = ({ room, icon, onClickBack, onClickClose, onClickEnterRoom, onC const actions = useMemo(() => { const mapAction = ([key, { label, icon, action }]: [string, Action]) => ( - + ); return [...actionsDefinition.map(mapAction), menu].filter(Boolean); @@ -77,66 +87,66 @@ const RoomInfo = ({ room, icon, onClickBack, onClickClose, onClickEnterRoom, onC - - + + - + - {actions} - + {actions} + {archived && ( - + {t('Room_archived')} - + )} {roomTitle && ( - - - + + + )} - + {broadcast && ( - - + + {t('Broadcast_channel')} {t('Broadcast_channel_Description')} - - + + )} {description && description !== '' && ( - - {t('Description')} - + + {t('Description')} + - - + + )} {announcement && announcement !== '' && ( - - {t('Announcement')} - + + {t('Announcement')} + - - + + )} {topic && topic !== '' && ( - - {t('Topic')} - + + {t('Topic')} + - - + + )} {retentionPolicy?.isActive && } - + diff --git a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx index 42004ed228fa..25761539f532 100644 --- a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx +++ b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx @@ -6,7 +6,7 @@ import type { ReactElement } from 'react'; import React, { useMemo } from 'react'; import GenericMenu from '../../../../components/GenericMenu/GenericMenu'; -import UserInfo from '../../../../components/UserInfo'; +import { UserInfoAction } from '../../../../components/UserInfo'; import { useUserInfoActions } from '../../hooks/useUserInfoActions'; type UserInfoActionsProps = { @@ -45,7 +45,7 @@ const UserInfoActions = ({ user, rid, backToList }: UserInfoActionsProps): React // TODO: sanitize Action type to avoid any const actions = useMemo(() => { const mapAction = ([key, { content, icon, onClick }]: any): ReactElement => ( - + ); return [...actionsDefinition.map(mapAction), menu].filter(Boolean); diff --git a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx index d5e2f36625f4..b5049bebdc1f 100644 --- a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx @@ -15,7 +15,7 @@ import { } from '../../../../components/Contextualbar'; import { FormSkeleton } from '../../../../components/Skeleton'; import { UserCardRole } from '../../../../components/UserCard'; -import UserInfo from '../../../../components/UserInfo'; +import { UserInfo } from '../../../../components/UserInfo'; import { ReactiveUserStatus } from '../../../../components/UserStatus'; import { AsyncStatePhase } from '../../../../hooks/useAsyncState'; import { useEndpointData } from '../../../../hooks/useEndpointData'; diff --git a/apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx b/apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx index e5202f070320..fc1b2905478e 100644 --- a/apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx +++ b/apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx @@ -12,7 +12,17 @@ import { ContextualbarClose, ContextualbarScrollableContent, } from '../../../../components/Contextualbar'; -import InfoPanel from '../../../../components/InfoPanel'; +import { + InfoPanel, + InfoPanelAction, + InfoPanelActionGroup, + InfoPanelAvatar, + InfoPanelField, + InfoPanelLabel, + InfoPanelSection, + InfoPanelText, + InfoPanelTitle, +} from '../../../../components/InfoPanel'; import RetentionPolicyCallout from '../../../../components/InfoPanel/RetentionPolicyCallout'; import MarkdownText from '../../../../components/MarkdownText'; import type { Action } from '../../../hooks/useActionSpread'; @@ -108,7 +118,7 @@ const TeamsInfo = ({ const actions = useMemo(() => { const mapAction = ([key, { label, icon, action }]: [string, Action]): ReactElement => ( - + ); return [...actionsDefinition.map(mapAction), menu].filter(Boolean); @@ -123,75 +133,75 @@ const TeamsInfo = ({ - - + + - + - {actions} - + {actions} + - + {room.archived && ( {t('Room_archived')} )} - + - - - + + + - + {room.broadcast && ( - - + + {t('Broadcast_channel')} {t('Broadcast_channel_Description')} - - + + )} {room.description && ( - - {t('Description')} - + + {t('Description')} + - - + + )} {room.announcement && ( - - {t('Announcement')} - + + {t('Announcement')} + - - + + )} {room.topic && ( - - {t('Topic')} - + + {t('Topic')} + - - + + )} {onClickViewChannels && ( - - {t('Teams_channels')} - + + {t('Teams_channels')} + - - + + )} {retentionPolicy?.isActive && } - +