import type { IRoom } from '@rocket.chat/core-typings'; import { useStableCallback } from '@rocket.chat/fuselage-hooks'; import { useRoomToolbox } from '@rocket.chat/ui-contexts'; import { useState } from 'react'; import EditRoomInfoWithData from './EditRoomInfo'; import RoomInfo from './RoomInfo'; import { useCanEditRoom } from './hooks/useCanEditRoom'; import { useRoom } from '../../contexts/RoomContext'; export type RoomInfoRouterProps = { onClickBack?: () => void; onEnterRoom?: (room: IRoom) => void; resetState?: () => void; }; const RoomInfoRouter = ({ onClickBack, onEnterRoom, resetState }: RoomInfoRouterProps) => { const [isEditing, setIsEditing] = useState(false); const { closeTab } = useRoomToolbox(); const room = useRoom(); const canEdit = useCanEditRoom(room); const onClickEnterRoom = useStableCallback(() => onEnterRoom?.(room)); if (isEditing) { return setIsEditing(false)} />; } return ( setIsEditing(true) : undefined} onClickClose={closeTab} {...(Boolean(onEnterRoom) && { onClickEnterRoom, })} resetState={resetState} /> ); }; export default RoomInfoRouter;