settings-compiler.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { useTranslation } from 'react-i18next'
  2. import type { ProjectCompiler } from '../../../../../../types/project-settings'
  3. import { usePermissionsContext } from '@/features/ide-react/context/permissions-context'
  4. import { useProjectSettingsContext } from '../../context/project-settings-context'
  5. import SettingsMenuSelect from './settings-menu-select'
  6. import { useSetCompilationSettingWithEvent } from '../../hooks/use-set-compilation-setting'
  7. export default function SettingsCompiler() {
  8. const { t } = useTranslation()
  9. const { write } = usePermissionsContext()
  10. const { compiler, setCompiler } = useProjectSettingsContext()
  11. const changeCompiler = useSetCompilationSettingWithEvent(
  12. 'compiler',
  13. setCompiler
  14. )
  15. return (
  16. <SettingsMenuSelect<ProjectCompiler>
  17. onChange={changeCompiler}
  18. value={compiler}
  19. disabled={!write}
  20. options={[
  21. {
  22. value: 'pdflatex',
  23. label: 'pdfLaTeX',
  24. },
  25. {
  26. value: 'latex',
  27. label: 'LaTeX',
  28. },
  29. {
  30. value: 'xelatex',
  31. label: 'XeLaTeX',
  32. },
  33. {
  34. value: 'lualatex',
  35. label: 'LuaLaTeX',
  36. },
  37. ]}
  38. label={t('compiler')}
  39. name="compiler"
  40. translateOptions="no"
  41. />
  42. )
  43. }