Files
overleaf-cep/services/web/frontend/js/shared/hooks/use-tracking-changes-mode.ts
Malik Glossop 5d47879865 Merge pull request #30884 from overleaf/mg-upgrade-modal-tracked-changes
Show modal when user initiates tracked changes from context menu

GitOrigin-RevId: 09ce0aef3eea113cc0b8fc83db00cb8607a6ef9a
2026-01-26 09:06:07 +00:00

29 lines
874 B
TypeScript

import { useIdeReactContext } from '@/features/ide-react/context/ide-react-context'
import { useTrackChangesStateContext } from '@/features/review-panel/context/track-changes-state-context'
import { useUserContext } from '../context/user-context'
type Mode = 'view' | 'review' | 'edit'
export const useTrackingChangesMode = (): Mode => {
const trackChanges = useTrackChangesStateContext()
const user = useUserContext()
const { permissionsLevel } = useIdeReactContext()
if (permissionsLevel === 'readOnly') {
return 'view'
} else if (permissionsLevel === 'review') {
return 'review'
}
const trackChangesForCurrentUser =
trackChanges?.onForEveryone ||
(user?.id && trackChanges?.onForMembers[user.id]) ||
(!user?.id && trackChanges?.onForGuests)
if (trackChangesForCurrentUser) {
return 'review'
} else {
return 'edit'
}
}