import React from 'react'; import PropTypes from 'prop-types'; import initMatrix from '../../../client/initMatrix'; import { selectSpace, openPublicRooms, openCreateRoom, openInviteUser, } from '../../../client/action/navigation'; import navigation from '../../../client/state/navigation'; import Text from '../../atoms/text/Text'; import Header, { TitleWrapper } from '../../atoms/header/Header'; import IconButton from '../../atoms/button/IconButton'; import ContextMenu, { MenuItem, MenuHeader } from '../../atoms/context-menu/ContextMenu'; import PlusIC from '../../../../public/res/ic/outlined/plus.svg'; import HashPlusIC from '../../../../public/res/ic/outlined/hash-plus.svg'; import HashSearchIC from '../../../../public/res/ic/outlined/hash-search.svg'; import ChevronLeftIC from '../../../../public/res/ic/outlined/chevron-left.svg'; function DrawerHeader({ selectedTab, spaceId }) { const mx = initMatrix.matrixClient; const tabName = selectedTab === 'home' ? 'Home' : 'Direct messages'; const room = mx.getRoom(spaceId); const spaceName = selectedTab === 'dm' ? null : (room?.name || null); function handleBackClick() { const spacePath = navigation.selectedSpacePath; if (spacePath.length === 1) { selectSpace(null); return; } selectSpace(spacePath[spacePath.length - 2]); } return (
{spaceName || tabName} { spaceName && } { selectedTab === 'dm' && openInviteUser()} tooltip="Start DM" src={PlusIC} size="normal" /> } { selectSpace !== 'dm' && !spaceName && ( <> ( <> Add room { hideMenu(); openCreateRoom(); }} > Create new room { hideMenu(); openPublicRooms(); }} > Add public room )} render={(toggleMenu) => ()} /> )} {/* ''} tooltip="Menu" src={VerticalMenuIC} size="normal" /> */}
); } DrawerHeader.defaultProps = { spaceId: null, }; DrawerHeader.propTypes = { selectedTab: PropTypes.string.isRequired, spaceId: PropTypes.string, }; export default DrawerHeader;