import styled from '@emotion/styled'; import {openHelpSearchModal} from 'sentry/actionCreators/modal'; import DropdownMenu from 'sentry/components/dropdownMenu'; import Hook from 'sentry/components/hook'; import SidebarItem from 'sentry/components/sidebar/sidebarItem'; import {IconQuestion} from 'sentry/icons'; import {t} from 'sentry/locale'; import space from 'sentry/styles/space'; import {Organization} from 'sentry/types'; import SidebarDropdownMenu from './sidebarDropdownMenu.styled'; import SidebarMenuItem from './sidebarMenuItem'; import {CommonSidebarProps} from './types'; type Props = Pick & { organization: Organization; }; const SidebarHelp = ({orientation, collapsed, hidePanel, organization}: Props) => ( {({isOpen, getActorProps, getMenuProps}) => ( } label={t('Help')} id="help" /> {isOpen && ( openHelpSearchModal({organization})} > {t('Search Support, Docs and More')} {t('Visit Help Center')} )} )} ); export default SidebarHelp; const HelpRoot = styled('div')` position: relative; `; // This exists to provide a styled actor for the dropdown. Making the actor a regular, // non-styled react component causes some issues with toggling correctly because of // how refs are handled. const HelpActor = styled('div')``; const HelpMenu = styled('div', {shouldForwardProp: p => p !== 'orientation'})<{ orientation: Props['orientation']; }>` ${SidebarDropdownMenu}; ${p => (p.orientation === 'left' ? 'bottom: 100%' : `top: ${space(4)}; right: 0px;`)} `;