change-layout-button.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { useTranslation } from 'react-i18next'
  2. import classNames from 'classnames'
  3. import {
  4. Dropdown,
  5. DropdownMenu,
  6. DropdownToggle,
  7. } from '@/shared/components/dropdown/dropdown-menu'
  8. import ChangeLayoutOptions from './change-layout-options'
  9. import MaterialIcon from '@/shared/components/material-icon'
  10. import OLTooltip from '@/shared/components/ol/ol-tooltip'
  11. export default function ChangeLayoutButton() {
  12. const { t } = useTranslation()
  13. const toggleButtonClassName = classNames(
  14. 'ide-redesign-toolbar-button-subdued',
  15. 'ide-redesign-toolbar-dropdown-toggle-subdued',
  16. 'ide-redesign-toolbar-button-icon'
  17. )
  18. return (
  19. <div className="ide-redesign-toolbar-button-container">
  20. <Dropdown className="toolbar-item layout-dropdown" align="end">
  21. <OLTooltip
  22. id="tooltip-open-layout-options"
  23. description={t('layout_options')}
  24. overlayProps={{ delay: 0, placement: 'bottom' }}
  25. >
  26. <span>
  27. <DropdownToggle
  28. id="layout-dropdown-btn"
  29. className={toggleButtonClassName}
  30. aria-label={t('layout_options')}
  31. >
  32. <MaterialIcon type="space_dashboard" unfilled />
  33. </DropdownToggle>
  34. </span>
  35. </OLTooltip>
  36. <DropdownMenu>
  37. <ChangeLayoutOptions />
  38. </DropdownMenu>
  39. </Dropdown>
  40. </div>
  41. )
  42. }