rail-help-dropdown.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import getMeta from '@/utils/meta'
  2. import { useTranslation } from 'react-i18next'
  3. import { useRailContext } from '@/features/ide-react/context/rail-context'
  4. import { useCallback } from 'react'
  5. import {
  6. DropdownDivider,
  7. DropdownItem,
  8. DropdownMenu,
  9. } from '@/shared/components/dropdown/dropdown-menu'
  10. export default function RailHelpDropdown() {
  11. const showSupport = getMeta('ol-showSupport')
  12. const showDocumentation = getMeta('ol-wikiEnabled')
  13. const { t } = useTranslation()
  14. const { setActiveModal } = useRailContext()
  15. const openKeyboardShortcutsModal = useCallback(() => {
  16. setActiveModal('keyboard-shortcuts')
  17. }, [setActiveModal])
  18. const openContactUsModal = useCallback(() => {
  19. setActiveModal('contact-us')
  20. }, [setActiveModal])
  21. return (
  22. <DropdownMenu>
  23. <DropdownItem onClick={openKeyboardShortcutsModal}>
  24. {t('keyboard_shortcuts')}
  25. </DropdownItem>
  26. {showDocumentation && (
  27. <DropdownItem
  28. href="/learn"
  29. role="menuitem"
  30. target="_blank"
  31. rel="noopener noreferrer"
  32. >
  33. {t('documentation')}
  34. </DropdownItem>
  35. )}
  36. {showSupport && (
  37. <>
  38. <DropdownDivider />
  39. <DropdownItem onClick={openContactUsModal}>
  40. {t('contact_us')}
  41. </DropdownItem>
  42. </>
  43. )}
  44. </DropdownMenu>
  45. )
  46. }