settings-menu.tsx 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { Form } from 'react-bootstrap'
  2. import { useTranslation } from 'react-i18next'
  3. import getMeta from '../../../utils/meta'
  4. import SettingsAutoCloseBrackets from './settings/settings-auto-close-brackets'
  5. import SettingsAutoComplete from './settings/settings-auto-complete'
  6. import SettingsCompiler from './settings/settings-compiler'
  7. import SettingsDictionary from './settings/settings-dictionary'
  8. import SettingsDocument from './settings/settings-document'
  9. import SettingsEditorTheme from './settings/settings-editor-theme'
  10. import SettingsFontFamily from './settings/settings-font-family'
  11. import SettingsFontSize from './settings/settings-font-size'
  12. import SettingsImageName from './settings/settings-image-name'
  13. import SettingsKeybindings from './settings/settings-keybindings'
  14. import SettingsLineHeight from './settings/settings-line-height'
  15. import SettingsOverallTheme from './settings/settings-overall-theme'
  16. import SettingsPdfViewer from './settings/settings-pdf-viewer'
  17. import SettingsSpellCheckLanguage from './settings/settings-spell-check-language'
  18. import SettingsSyntaxValidation from './settings/settings-syntax-validation'
  19. import SettingsMathPreview from './settings/settings-math-preview'
  20. import { useFeatureFlag } from '@/shared/context/split-test-context'
  21. export default function SettingsMenu() {
  22. const { t } = useTranslation()
  23. const anonymous = getMeta('ol-anonymous')
  24. const enableMathPreview = useFeatureFlag('math-preview')
  25. if (anonymous) {
  26. return null
  27. }
  28. return (
  29. <>
  30. <h4>{t('settings')}</h4>
  31. <Form className="settings">
  32. <SettingsCompiler />
  33. <SettingsImageName />
  34. <SettingsDocument />
  35. <SettingsSpellCheckLanguage />
  36. <SettingsDictionary />
  37. <SettingsAutoComplete />
  38. <SettingsAutoCloseBrackets />
  39. <SettingsSyntaxValidation />
  40. {enableMathPreview && <SettingsMathPreview />}
  41. <SettingsEditorTheme />
  42. <SettingsOverallTheme />
  43. <SettingsKeybindings />
  44. <SettingsFontSize />
  45. <SettingsFontFamily />
  46. <SettingsLineHeight />
  47. <SettingsPdfViewer />
  48. </Form>
  49. </>
  50. )
  51. }