help-show-hotkeys.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { useState, useCallback } from 'react'
  2. import { useTranslation } from 'react-i18next'
  3. import * as eventTracking from '../../../infrastructure/event-tracking'
  4. import { useProjectContext } from '../../../shared/context/project-context'
  5. import HotkeysModal from '../../hotkeys-modal/components/hotkeys-modal'
  6. import useScopeValue from '../../../shared/hooks/use-scope-value'
  7. import LeftMenuButton from './left-menu-button'
  8. export default function HelpShowHotkeys() {
  9. const [showModal, setShowModal] = useState(false)
  10. const [newSourceEditor] = useScopeValue('editor.newSourceEditor')
  11. const { t } = useTranslation()
  12. const { features } = useProjectContext()
  13. const isMac = /Mac/.test(window.navigator?.platform)
  14. const showModalWithAnalytics = useCallback(() => {
  15. eventTracking.sendMB('left-menu-hotkeys')
  16. setShowModal(true)
  17. }, [])
  18. return (
  19. <>
  20. <LeftMenuButton
  21. onClick={showModalWithAnalytics}
  22. icon={{
  23. type: 'keyboard-o',
  24. fw: true,
  25. }}
  26. >
  27. {t('show_hotkeys')}
  28. </LeftMenuButton>
  29. <HotkeysModal
  30. show={showModal}
  31. handleHide={() => setShowModal(false)}
  32. isMac={isMac}
  33. trackChangesVisible={features?.trackChangesVisible}
  34. newSourceEditor={newSourceEditor}
  35. />
  36. </>
  37. )
  38. }