keybinding-setting.tsx 834 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { useProjectSettingsContext } from '@/features/editor-left-menu/context/project-settings-context'
  2. import { useTranslation } from 'react-i18next'
  3. import DropdownSetting from '../dropdown-setting'
  4. import { Keybindings } from '../../../../../../types/user-settings'
  5. const OPTIONS: { value: Keybindings; label: string }[] = [
  6. {
  7. value: 'default',
  8. label: 'None',
  9. },
  10. {
  11. value: 'vim',
  12. label: 'Vim',
  13. },
  14. {
  15. value: 'emacs',
  16. label: 'Emacs',
  17. },
  18. ]
  19. export default function KeybindingSetting() {
  20. const { mode, setMode } = useProjectSettingsContext()
  21. const { t } = useTranslation()
  22. return (
  23. <DropdownSetting
  24. id="mode"
  25. label={t('keybindings')}
  26. description={t('work_in_vim_or_emacs_emulation_mode')}
  27. options={OPTIONS}
  28. onChange={setMode}
  29. value={mode}
  30. />
  31. )
  32. }