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/client/views/room/Header/Header.js

39 lines
1020 B

import React, { memo, useMemo } from 'react';
import BurgerMenu from '../../../components/BurgerMenu';
import TemplateHeader from '../../../components/Header';
import { useLayout } from '../../../contexts/LayoutContext';
import DirectRoomHeader from './DirectRoomHeader';
import OmnichannelRoomHeader from './Omnichannel/OmnichannelRoomHeader';
import RoomHeader from './RoomHeader';
const Header = ({ room }) => {
const { isMobile, isEmbedded, showTopNavbarEmbeddedLayout } = useLayout();
const slots = useMemo(
() => ({
start: isMobile && (
<TemplateHeader.ToolBox>
<BurgerMenu />
</TemplateHeader.ToolBox>
),
}),
[isMobile],
);
if (isEmbedded && !showTopNavbarEmbeddedLayout) {
return null;
}
if (room.t === 'd' && room.uids.length < 3) {
return <DirectRoomHeader slots={slots} room={room} />;
}
if (room.t === 'l') {
return <OmnichannelRoomHeader slots={slots} />;
}
return <RoomHeader slots={slots} room={room} topic={room.topic} />;
};
export default memo(Header);