diff --git a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-compiler.tsx b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-compiler.tsx index 02006418b0..8d7076ebd4 100644 --- a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-compiler.tsx +++ b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-compiler.tsx @@ -1,19 +1,19 @@ import { useTranslation } from 'react-i18next' import type { ProjectCompiler } from '../../../../../../types/project-settings' -import { useEditorContext } from '../../../../shared/context/editor-context' +import { usePermissionsContext } from '@/features/ide-react/context/permissions-context' import { useProjectSettingsContext } from '../../context/project-settings-context' import SettingsMenuSelect from './settings-menu-select' export default function SettingsCompiler() { const { t } = useTranslation() - const { permissionsLevel } = useEditorContext() + const { write } = usePermissionsContext() const { compiler, setCompiler } = useProjectSettingsContext() return ( onChange={setCompiler} value={compiler} - disabled={permissionsLevel === 'readOnly'} + disabled={!write} options={[ { value: 'pdflatex', diff --git a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-document.tsx b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-document.tsx index 7a9e7c0c30..839bd499eb 100644 --- a/services/web/frontend/js/features/editor-left-menu/components/settings/settings-document.tsx +++ b/services/web/frontend/js/features/editor-left-menu/components/settings/settings-document.tsx @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { isValidTeXFile } from '../../../../main/is-valid-tex-file' -import { useEditorContext } from '../../../../shared/context/editor-context' +import { usePermissionsContext } from '@/features/ide-react/context/permissions-context' import { useProjectSettingsContext } from '../../context/project-settings-context' import SettingsMenuSelect from './settings-menu-select' import type { Option } from './settings-menu-select' @@ -9,7 +9,7 @@ import { useFileTreeData } from '@/shared/context/file-tree-data-context' export default function SettingsDocument() { const { t } = useTranslation() - const { permissionsLevel } = useEditorContext() + const { write } = usePermissionsContext() const { docs } = useFileTreeData() const { rootDocId, setRootDocId } = useProjectSettingsContext() @@ -39,7 +39,7 @@ export default function SettingsDocument() { getMeta('ol-allowedImageNames') || [], @@ -33,7 +33,7 @@ export default function SettingsImageName() { - + {write && ( + + )} ) } diff --git a/services/web/frontend/js/features/history/components/diff-view/toolbar/toolbar.tsx b/services/web/frontend/js/features/history/components/diff-view/toolbar/toolbar.tsx index 6087f3cc8d..8e9fb2a4ab 100644 --- a/services/web/frontend/js/features/history/components/diff-view/toolbar/toolbar.tsx +++ b/services/web/frontend/js/features/history/components/diff-view/toolbar/toolbar.tsx @@ -8,6 +8,7 @@ import { isFileRemoved } from '../../../utils/file-diff' import ToolbarRestoreFileToVersionButton from './toolbar-restore-file-to-version-button' import { useFeatureFlag } from '@/shared/context/split-test-context' import SplitTestBadge from '@/shared/components/split-test-badge' +import { usePermissionsContext } from '@/features/ide-react/context/permissions-context' type ToolbarProps = { diff: Nullable @@ -15,15 +16,17 @@ type ToolbarProps = { } export default function Toolbar({ diff, selection }: ToolbarProps) { + const { write } = usePermissionsContext() const hasRestoreFileToVersion = useFeatureFlag('revert-file') const showRestoreFileToVersionButton = - hasRestoreFileToVersion && selection.selectedFile + hasRestoreFileToVersion && selection.selectedFile && write const showRestoreFileButton = selection.selectedFile && isFileRemoved(selection.selectedFile) && - !showRestoreFileToVersionButton + !showRestoreFileToVersionButton && + write return (