The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/components/CreateDiscussion/DefaultParentRoomField.tsx

42 lines
1.1 KiB

import { Skeleton, TextInput, Callout } from '@rocket.chat/fuselage';
import { useTranslation } from '@rocket.chat/ui-contexts';
import type { ReactElement } from 'react';
import React, { useMemo } from 'react';
import { AsyncStatePhase } from '../../hooks/useAsyncState';
import { useEndpointData } from '../../hooks/useEndpointData';
import { roomCoordinator } from '../../lib/rooms/roomCoordinator';
const DefaultParentRoomField = ({ defaultParentRoom }: { defaultParentRoom: string }): ReactElement => {
const t = useTranslation();
const { value, phase } = useEndpointData('/v1/rooms.info', {
params: useMemo(
() => ({
roomId: defaultParentRoom,
}),
[defaultParentRoom],
),
});
if (phase === AsyncStatePhase.LOADING) {
return <Skeleton width='full' />;
}
if (!value || !value.room) {
return <Callout type={'danger'}>{t('Error')}</Callout>;
}
return (
<TextInput
defaultValue={roomCoordinator.getRoomName(value.room.t, {
_id: value.room._id,
fname: value.room.fname,
name: value.room.name,
prid: value.room.prid,
})}
disabled
/>
);
};
export default DefaultParentRoomField;