From 277e59fbd5b5caac015e2099b212eae96378f38a Mon Sep 17 00:00:00 2001 From: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com> Date: Thu, 12 Jun 2025 12:18:10 +0300 Subject: [PATCH] Merge pull request #25713 from overleaf/ii-managed-users-make-unmanaged-events [web] Tracking events for offboarding managed users GitOrigin-RevId: 12d0f178bab9f2f0923135ce3661738acdc85b82 --- .../components/members-table/dropdown-button.tsx | 3 +++ .../components/members-table/offboard-managed-user-modal.tsx | 4 +++- .../components/members-table/remove-managed-user-modal.tsx | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/features/group-management/components/members-table/dropdown-button.tsx b/services/web/frontend/js/features/group-management/components/members-table/dropdown-button.tsx index 6310fcf419..0727fefae0 100644 --- a/services/web/frontend/js/features/group-management/components/members-table/dropdown-button.tsx +++ b/services/web/frontend/js/features/group-management/components/members-table/dropdown-button.tsx @@ -20,6 +20,7 @@ import getMeta from '@/utils/meta' import MaterialIcon from '@/shared/components/material-icon' import DropdownListItem from '@/features/ui/components/bootstrap-5/dropdown-list-item' import { Spinner } from 'react-bootstrap' +import { sendMB } from '@/infrastructure/event-tracking' type resendInviteResponse = { success: boolean @@ -171,10 +172,12 @@ export default function DropdownButton({ } const onDeleteUserClick = () => { + sendMB('delete-managed-user-selected') openOffboardingModalForUser(user) } const onReleaseUserClick = () => { + sendMB('remove-managed-user-selected') openRemoveModalForUser(user) } diff --git a/services/web/frontend/js/features/group-management/components/members-table/offboard-managed-user-modal.tsx b/services/web/frontend/js/features/group-management/components/members-table/offboard-managed-user-modal.tsx index 4528aab13f..d4709bf6c3 100644 --- a/services/web/frontend/js/features/group-management/components/members-table/offboard-managed-user-modal.tsx +++ b/services/web/frontend/js/features/group-management/components/members-table/offboard-managed-user-modal.tsx @@ -17,6 +17,7 @@ import OLNotification from '@/features/ui/components/ol/ol-notification' import OLFormControl from '@/features/ui/components/ol/ol-form-control' import OLFormLabel from '@/features/ui/components/ol/ol-form-label' import OLFormSelect from '@/features/ui/components/ol/ol-form-select' +import { sendMB } from '@/infrastructure/event-tracking' type OffboardManagedUserModalProps = { user: User @@ -48,8 +49,9 @@ export default function OffboardManagedUserModal({ const shouldEnableDeleteUserButton = suppliedEmail === user.email && !!selectedRecipientId - const handleDeleteUserSubmit = (event: any) => { + const handleDeleteUserSubmit = (event: React.FormEvent) => { event.preventDefault() + sendMB('delete-managed-user-confirmed') runAsync( postJSON(`/manage/groups/${groupId}/offboardManagedUser/${user._id}`, { body: { diff --git a/services/web/frontend/js/features/group-management/components/members-table/remove-managed-user-modal.tsx b/services/web/frontend/js/features/group-management/components/members-table/remove-managed-user-modal.tsx index 1e492118fd..c3c6f8caa4 100644 --- a/services/web/frontend/js/features/group-management/components/members-table/remove-managed-user-modal.tsx +++ b/services/web/frontend/js/features/group-management/components/members-table/remove-managed-user-modal.tsx @@ -16,6 +16,7 @@ import OLButton from '@/features/ui/components/ol/ol-button' import OLNotification from '@/features/ui/components/ol/ol-notification' import OLFormControl from '@/features/ui/components/ol/ol-form-control' import OLFormLabel from '@/features/ui/components/ol/ol-form-label' +import { sendMB } from '@/infrastructure/event-tracking' type RemoveManagedUserModalProps = { user: User @@ -42,6 +43,7 @@ export default function RemoveManagedUserModal({ const handleReleaseUserSubmit = (event: React.FormEvent) => { event.preventDefault() + sendMB('remove-managed-user-confirmed') runAsync( postJSON(`/manage/groups/${groupId}/release-managed-user/${user._id}`, { body: {