mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Hide reviewer options for community edition (#25944)
GitOrigin-RevId: 7eba3d193e3a0ab37006cb42dd945ba40703136f
This commit is contained in:
committed by
Copybot
parent
6d7b13ac18
commit
04e026904f
@@ -52,6 +52,7 @@ import OldErrorPane from './error-logs/old-error-pane'
|
||||
import { useFeatureFlag } from '@/shared/context/split-test-context'
|
||||
import { useSurveyUrl } from '../hooks/use-survey-url'
|
||||
import NewErrorLogsPromo from './error-logs/new-error-logs-promo'
|
||||
import { useProjectContext } from '@/shared/context/project-context'
|
||||
|
||||
type RailElement = {
|
||||
icon: AvailableUnfilledIcon
|
||||
@@ -111,6 +112,7 @@ export const RailLayout = () => {
|
||||
setResizing,
|
||||
} = useRailContext()
|
||||
const { logEntries } = useCompileContext()
|
||||
const { features } = useProjectContext()
|
||||
const errorLogsDisabled = !logEntries
|
||||
|
||||
const errorsTabRef = useRef<HTMLAnchorElement>(null)
|
||||
@@ -149,6 +151,7 @@ export const RailLayout = () => {
|
||||
icon: 'rate_review',
|
||||
title: t('review_panel'),
|
||||
component: null,
|
||||
hide: !features.trackChangesVisible,
|
||||
},
|
||||
{
|
||||
key: 'chat',
|
||||
@@ -167,7 +170,7 @@ export const RailLayout = () => {
|
||||
disabled: errorLogsDisabled,
|
||||
},
|
||||
],
|
||||
[t, errorLogsDisabled, newErrorlogs]
|
||||
[t, features.trackChangesVisible, newErrorlogs, errorLogsDisabled]
|
||||
)
|
||||
|
||||
const railActions: RailAction[] = useMemo(
|
||||
|
||||
@@ -4,10 +4,16 @@ import { ChangesUsersProvider } from './changes-users-context'
|
||||
import { TrackChangesStateProvider } from './track-changes-state-context'
|
||||
import { ThreadsProvider } from './threads-context'
|
||||
import { ReviewPanelViewProvider } from './review-panel-view-context'
|
||||
import { useProjectContext } from '@/shared/context/project-context'
|
||||
|
||||
export const ReviewPanelProviders: FC<React.PropsWithChildren> = ({
|
||||
children,
|
||||
}) => {
|
||||
const { features } = useProjectContext()
|
||||
if (!features.trackChangesVisible) {
|
||||
return children
|
||||
}
|
||||
|
||||
return (
|
||||
<ReviewPanelViewProvider>
|
||||
<ChangesUsersProvider>
|
||||
|
||||
@@ -176,24 +176,34 @@ export default function AddCollaborators({ readOnly }: { readOnly?: boolean }) {
|
||||
])
|
||||
|
||||
const privilegeOptions = useMemo(() => {
|
||||
return [
|
||||
const options: {
|
||||
key: string
|
||||
label: string
|
||||
description?: string | null
|
||||
}[] = [
|
||||
{
|
||||
key: 'readAndWrite',
|
||||
label: t('editor'),
|
||||
},
|
||||
{
|
||||
]
|
||||
|
||||
if (features.trackChangesVisible) {
|
||||
options.push({
|
||||
key: 'review',
|
||||
label: t('reviewer'),
|
||||
description: !features.trackChanges
|
||||
? t('comment_only_upgrade_for_track_changes')
|
||||
: null,
|
||||
},
|
||||
{
|
||||
key: 'readOnly',
|
||||
label: t('viewer'),
|
||||
},
|
||||
]
|
||||
}, [features.trackChanges, t])
|
||||
})
|
||||
}
|
||||
|
||||
options.push({
|
||||
key: 'readOnly',
|
||||
label: t('viewer'),
|
||||
})
|
||||
|
||||
return options
|
||||
}, [features.trackChanges, features.trackChangesVisible, t])
|
||||
|
||||
return (
|
||||
<OLForm className="add-collabs">
|
||||
|
||||
@@ -244,14 +244,22 @@ function SelectPrivilege({
|
||||
const { features } = useProjectContext()
|
||||
|
||||
const privileges = useMemo(
|
||||
(): Privilege[] => [
|
||||
{ key: 'owner', label: t('make_owner') },
|
||||
{ key: 'readAndWrite', label: t('editor') },
|
||||
{ key: 'review', label: t('reviewer') },
|
||||
{ key: 'readOnly', label: t('viewer') },
|
||||
{ key: 'removeAccess', label: t('remove_access') },
|
||||
],
|
||||
[t]
|
||||
(): Privilege[] =>
|
||||
features.trackChangesVisible
|
||||
? [
|
||||
{ key: 'owner', label: t('make_owner') },
|
||||
{ key: 'readAndWrite', label: t('editor') },
|
||||
{ key: 'review', label: t('reviewer') },
|
||||
{ key: 'readOnly', label: t('viewer') },
|
||||
{ key: 'removeAccess', label: t('remove_access') },
|
||||
]
|
||||
: [
|
||||
{ key: 'owner', label: t('make_owner') },
|
||||
{ key: 'readAndWrite', label: t('editor') },
|
||||
{ key: 'readOnly', label: t('viewer') },
|
||||
{ key: 'removeAccess', label: t('remove_access') },
|
||||
],
|
||||
[features.trackChangesVisible, t]
|
||||
)
|
||||
|
||||
const downgradedPseudoPrivilege: Privilege = {
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
} from './codemirror-context'
|
||||
import MathPreviewTooltip from './math-preview-tooltip'
|
||||
import { useToolbarMenuBarEditorCommands } from '@/features/ide-redesign/hooks/use-toolbar-menu-editor-commands'
|
||||
import { useProjectContext } from '@/shared/context/project-context'
|
||||
|
||||
// TODO: remove this when definitely no longer used
|
||||
export * from './codemirror-context'
|
||||
@@ -67,6 +68,7 @@ function CodeMirrorEditor() {
|
||||
|
||||
function CodeMirrorEditorComponents() {
|
||||
useToolbarMenuBarEditorCommands()
|
||||
const { features } = useProjectContext()
|
||||
|
||||
return (
|
||||
<ReviewPanelProviders>
|
||||
@@ -83,8 +85,8 @@ function CodeMirrorEditorComponents() {
|
||||
<CodeMirrorCommandTooltip />
|
||||
|
||||
<MathPreviewTooltip />
|
||||
<ReviewTooltipMenu />
|
||||
<ReviewPanelNew />
|
||||
{features.trackChangesVisible && <ReviewTooltipMenu />}
|
||||
{features.trackChangesVisible && <ReviewPanelNew />}
|
||||
|
||||
{sourceEditorComponents.map(
|
||||
({ import: { default: Component }, path }) => (
|
||||
|
||||
@@ -14,6 +14,7 @@ import { LegacyTableDropdown } from './table-inserter-dropdown-legacy'
|
||||
import { withinFormattingCommand } from '@/features/source-editor/utils/tree-operations/formatting'
|
||||
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
|
||||
import { isMac } from '@/shared/utils/os'
|
||||
import { useProjectContext } from '@/shared/context/project-context'
|
||||
|
||||
export const ToolbarItems: FC<{
|
||||
state: EditorState
|
||||
@@ -31,6 +32,7 @@ export const ToolbarItems: FC<{
|
||||
const { t } = useTranslation()
|
||||
const { toggleSymbolPalette, showSymbolPalette, writefullInstance } =
|
||||
useEditorContext()
|
||||
const { features } = useProjectContext()
|
||||
const isActive = withinFormattingCommand(state)
|
||||
|
||||
const symbolPaletteAvailable = getMeta('ol-symbolPaletteAvailable')
|
||||
@@ -127,13 +129,15 @@ export const ToolbarItems: FC<{
|
||||
command={commands.wrapInHref}
|
||||
icon="add_link"
|
||||
/>
|
||||
<ToolbarButton
|
||||
id="toolbar-add-comment"
|
||||
label={t('add_comment')}
|
||||
disabled={state.selection.main.empty}
|
||||
command={commands.addComment}
|
||||
icon="add_comment"
|
||||
/>
|
||||
{features.trackChangesVisible && (
|
||||
<ToolbarButton
|
||||
id="toolbar-add-comment"
|
||||
label={t('add_comment')}
|
||||
disabled={state.selection.main.empty}
|
||||
command={commands.addComment}
|
||||
icon="add_comment"
|
||||
/>
|
||||
)}
|
||||
<ToolbarButton
|
||||
id="toolbar-ref"
|
||||
label={t('toolbar_insert_cross_reference')}
|
||||
|
||||
@@ -181,6 +181,7 @@ describe('<ReviewPanel />', function () {
|
||||
removeChangeIds,
|
||||
},
|
||||
},
|
||||
projectFeatures: { trackChangesVisible: true },
|
||||
})
|
||||
|
||||
cy.wrap(scope).as('scope')
|
||||
@@ -626,7 +627,7 @@ describe('<ReviewPanel /> for free users', function () {
|
||||
function mountEditor(ownerId = USER_ID) {
|
||||
const scope = mockScope(undefined, {
|
||||
permissions: { write: true, trackedWrite: false, comment: true },
|
||||
projectFeatures: { trackChanges: false },
|
||||
projectFeatures: { trackChanges: false, trackChangesVisible: true },
|
||||
projectOwner: {
|
||||
_id: ownerId,
|
||||
},
|
||||
|
||||
@@ -694,6 +694,7 @@ describe('<ShareProjectModal/>', function () {
|
||||
features: {
|
||||
collaborators: 0,
|
||||
compileGroup: 'standard',
|
||||
trackChangesVisible: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -723,6 +724,7 @@ describe('<ShareProjectModal/>', function () {
|
||||
...project,
|
||||
features: {
|
||||
collaborators: 1,
|
||||
trackChangesVisible: true,
|
||||
},
|
||||
members: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user