diff --git a/services/web/frontend/js/features/review-panel-new/components/review-mode-switcher.tsx b/services/web/frontend/js/features/review-panel-new/components/review-mode-switcher.tsx
index 8d2e2a9237..c3cfea132b 100644
--- a/services/web/frontend/js/features/review-panel-new/components/review-mode-switcher.tsx
+++ b/services/web/frontend/js/features/review-panel-new/components/review-mode-switcher.tsx
@@ -15,8 +15,10 @@ import { useUserContext } from '@/shared/context/user-context'
import { useTranslation } from 'react-i18next'
import { usePermissionsContext } from '@/features/ide-react/context/permissions-context'
import usePersistedState from '@/shared/hooks/use-persisted-state'
+import { sendMB } from '@/infrastructure/event-tracking'
+import { useEditorContext } from '@/shared/context/editor-context'
-type Mode = 'viewing' | 'reviewing' | 'editing'
+type Mode = 'view' | 'review' | 'edit'
const useCurrentMode = (): Mode => {
const trackChanges = useTrackChangesStateContext()
@@ -27,12 +29,12 @@ const useCurrentMode = (): Mode => {
const { write, trackedWrite } = usePermissionsContext()
if (write && !trackChangesForCurrentUser) {
- return 'editing'
+ return 'edit'
} else if (trackedWrite) {
- return 'reviewing'
+ return 'review'
}
- return 'viewing'
+ return 'view'
}
function ReviewModeSwitcher() {
@@ -40,6 +42,7 @@ function ReviewModeSwitcher() {
const { saveTrackChangesForCurrentUser } =
useTrackChangesStateActionsContext()
const mode = useCurrentMode()
+ const { permissionsLevel } = useEditorContext()
const { write, trackedWrite } = usePermissionsContext()
const showViewOption = !trackedWrite
@@ -55,33 +58,48 @@ function ReviewModeSwitcher() {
{
+ sendMB('editing-mode-change', {
+ role: permissionsLevel,
+ previousMode: mode,
+ newMode: 'edit',
+ })
saveTrackChangesForCurrentUser(false)
}}
description={t('can_edit_content')}
leadingIcon="edit"
- active={write && mode === 'editing'}
+ active={write && mode === 'edit'}
>
{t('editing')}
{
+ sendMB('editing-mode-change', {
+ role: permissionsLevel,
+ previousMode: mode,
+ newMode: 'review',
+ })
saveTrackChangesForCurrentUser(true)
}}
description={t('can_add_tracked_changes_and_comments')}
leadingIcon="rate_review"
- active={trackedWrite && mode === 'reviewing'}
+ active={trackedWrite && mode === 'review'}
>
{t('reviewing')}
{showViewOption && (
{
+ sendMB('editing-mode-change', {
+ role: permissionsLevel,
+ previousMode: mode,
+ newMode: 'view',
+ })
saveTrackChangesForCurrentUser(true)
}}
description={t('can_view_content')}
leadingIcon="visibility"
- active={mode === 'viewing'}
+ active={mode === 'view'}
>
{t('viewing')}
@@ -99,7 +117,7 @@ const ModeSwitcherToggleButton = forwardRef<
const { t } = useTranslation()
const mode = useCurrentMode()
- if (mode === 'editing') {
+ if (mode === 'edit') {
return (
)
- } else if (mode === 'reviewing') {
+ } else if (mode === 'review') {
return (
viewer)
// but show a confirmation button for removing access
function handlePrivilegeChange(newPrivileges: PermissionsOption) {
+ sendMB('collaborator-role-change', {
+ previousMode: member.privileges,
+ newMode: newPrivileges,
+ ownerId: user.id,
+ })
+
setPrivileges(newPrivileges)
if (newPrivileges !== 'removeAccess') {
commitPrivilegeChange(newPrivileges)