mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-25 02:00:10 +02:00
Show modal when user initiates tracked changes from context menu GitOrigin-RevId: 09ce0aef3eea113cc0b8fc83db00cb8607a6ef9a
29 lines
874 B
TypeScript
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'
|
|
}
|
|
}
|