From b4b4fe7a1ccac187fbbbdd8ebfe35f6c30d1e744 Mon Sep 17 00:00:00 2001 From: Jessica Lawshe <5312836+lawshe@users.noreply.github.com> Date: Wed, 27 Mar 2024 10:45:09 -0500 Subject: [PATCH] Merge pull request #17648 from overleaf/jel-member-list-alerts [web] Rename managed user alert variables GitOrigin-RevId: 6a6a446d7fda4ad0b4b63ef380d9710c2b545295 --- .../members-table/dropdown-button.tsx | 30 +++---- .../components/members-table/list-alert.tsx | 83 ++++++++----------- .../components/members-table/member-row.tsx | 8 +- .../components/members-table/members-list.tsx | 16 ++-- .../features/group-management/utils/types.ts | 6 +- .../members-table/dropdown-button.spec.tsx | 2 +- .../members-table/member-row.spec.tsx | 32 +++---- 7 files changed, 83 insertions(+), 94 deletions(-) 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 9f5ea259a0..a5a3c50bd8 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 @@ -11,7 +11,7 @@ import { User } from '../../../../../../types/group-management/user' import useAsync from '@/shared/hooks/use-async' import { type FetchError, postJSON } from '@/infrastructure/fetch-json' import Icon from '@/shared/components/icon' -import { ManagedUserAlert } from '../../utils/types' +import { GroupUserAlert } from '../../utils/types' import { useGroupMembersContext } from '../../context/group-members-context' import getMeta from '@/utils/meta' @@ -23,14 +23,14 @@ type ManagedUserDropdownButtonProps = { user: User openOffboardingModalForUser: (user: User) => void groupId: string - setManagedUserAlert: Dispatch> + setGroupUserAlert: Dispatch> } export default function DropdownButton({ user, openOffboardingModalForUser, groupId, - setManagedUserAlert, + setGroupUserAlert, }: ManagedUserDropdownButtonProps) { const { t } = useTranslation() const { removeMember } = useGroupMembersContext() @@ -66,7 +66,7 @@ export default function DropdownButton({ ) if (result.success) { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendManagedUserInviteSuccess', email: user.email, }) @@ -74,12 +74,12 @@ export default function DropdownButton({ } } catch (err) { if ((err as FetchError)?.response?.status === 429) { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendInviteTooManyRequests', email: user.email, }) } else { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendManagedUserInviteFailed', email: user.email, }) @@ -88,7 +88,7 @@ export default function DropdownButton({ setIsOpened(false) } }, - [setManagedUserAlert, groupId, runResendManagedUserInviteAsync] + [setGroupUserAlert, groupId, runResendManagedUserInviteAsync] ) const handleResendLinkSSOInviteAsync = useCallback( @@ -99,7 +99,7 @@ export default function DropdownButton({ ) if (result.success) { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendSSOLinkInviteSuccess', email: user.email, }) @@ -107,12 +107,12 @@ export default function DropdownButton({ } } catch (err) { if ((err as FetchError)?.response?.status === 429) { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendInviteTooManyRequests', email: user.email, }) } else { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendSSOLinkInviteFailed', email: user.email, }) @@ -121,7 +121,7 @@ export default function DropdownButton({ setIsOpened(false) } }, - [setManagedUserAlert, groupId, runResendLinkSSOInviteAsync] + [setGroupUserAlert, groupId, runResendLinkSSOInviteAsync] ) const handleResendGroupInvite = useCallback( @@ -135,19 +135,19 @@ export default function DropdownButton({ }) ) - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendGroupInviteSuccess', email: user.email, }) setIsOpened(false) } catch (err) { if ((err as FetchError)?.response?.status === 429) { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendInviteTooManyRequests', email: user.email, }) } else { - setManagedUserAlert({ + setGroupUserAlert({ variant: 'resendGroupInviteFailed', email: user.email, }) @@ -156,7 +156,7 @@ export default function DropdownButton({ setIsOpened(false) } }, - [setManagedUserAlert, groupId, runResendGroupInviteAsync] + [setGroupUserAlert, groupId, runResendGroupInviteAsync] ) const onResendManagedUserInviteClick = () => { diff --git a/services/web/frontend/js/features/group-management/components/members-table/list-alert.tsx b/services/web/frontend/js/features/group-management/components/members-table/list-alert.tsx index cce436476b..c809f0a690 100644 --- a/services/web/frontend/js/features/group-management/components/members-table/list-alert.tsx +++ b/services/web/frontend/js/features/group-management/components/members-table/list-alert.tsx @@ -1,87 +1,76 @@ import { type PropsWithChildren, useState } from 'react' import { Alert, type AlertProps } from 'react-bootstrap' import { Trans, useTranslation } from 'react-i18next' -import type { ManagedUserAlertVariant } from '../../utils/types' +import type { GroupUserAlertVariant } from '../../utils/types' -type ManagedUsersListAlertProps = { - variant: ManagedUserAlertVariant - invitedUserEmail?: string +type GroupUsersListAlertProps = { + variant: GroupUserAlertVariant + userEmail?: string onDismiss: () => void } export default function ListAlert({ variant, - invitedUserEmail, + userEmail, onDismiss, -}: ManagedUsersListAlertProps) { +}: GroupUsersListAlertProps) { switch (variant) { case 'resendManagedUserInviteSuccess': return ( ) case 'resendSSOLinkInviteSuccess': return ( ) case 'resendManagedUserInviteFailed': return ( ) case 'resendSSOLinkInviteFailed': return ( - + ) case 'resendGroupInviteSuccess': return ( - + ) case 'resendGroupInviteFailed': return ( ) case 'resendInviteTooManyRequests': - return ( - - ) + return } } -type ManagedUsersListAlertComponentProps = { +type GroupUsersListAlertComponentProps = { onDismiss: () => void - invitedUserEmail?: string + userEmail?: string } function ResendManagedUserInviteSuccess({ onDismiss, - invitedUserEmail, -}: ManagedUsersListAlertComponentProps) { + userEmail, +}: GroupUsersListAlertComponentProps) { return ( void groupId: string - setManagedUserAlert: Dispatch> + setGroupUserAlert: Dispatch> } export default function MemberRow({ user, openOffboardingModalForUser, - setManagedUserAlert, + setGroupUserAlert, groupId, }: ManagedUserRowProps) { const { t } = useTranslation() @@ -95,7 +95,7 @@ export default function MemberRow({ diff --git a/services/web/frontend/js/features/group-management/components/members-table/members-list.tsx b/services/web/frontend/js/features/group-management/components/members-table/members-list.tsx index 4e20412196..f3225c4958 100644 --- a/services/web/frontend/js/features/group-management/components/members-table/members-list.tsx +++ b/services/web/frontend/js/features/group-management/components/members-table/members-list.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next' import { User } from '../../../../../../types/group-management/user' import Tooltip from '@/shared/components/tooltip' import { useGroupMembersContext } from '../../context/group-members-context' -import type { ManagedUserAlert } from '../../utils/types' +import type { GroupUserAlert } from '../../utils/types' import MemberRow from './member-row' import OffboardManagedUserModal from './offboard-managed-user-modal' import ListAlert from './list-alert' @@ -21,19 +21,19 @@ export default function MembersList({ groupId }: ManagedUsersListProps) { const [userToOffboard, setUserToOffboard] = useState( undefined ) - const [managedUserAlert, setManagedUserAlert] = - useState(undefined) + const [groupUserAlert, setGroupUserAlert] = + useState(undefined) const { users } = useGroupMembersContext() const managedUsersActive: any = getMeta('ol-managedUsersActive') const groupSSOActive = getMeta('ol-groupSSOActive') return (
- {managedUsersActive && managedUserAlert && ( + {groupUserAlert && ( setManagedUserAlert(undefined)} + variant={groupUserAlert.variant} + userEmail={groupUserAlert.email} + onDismiss={() => setGroupUserAlert(undefined)} /> )}
    ))} diff --git a/services/web/frontend/js/features/group-management/utils/types.ts b/services/web/frontend/js/features/group-management/utils/types.ts index 48b4f0bd4b..e3f2f06c7e 100644 --- a/services/web/frontend/js/features/group-management/utils/types.ts +++ b/services/web/frontend/js/features/group-management/utils/types.ts @@ -1,4 +1,4 @@ -export type ManagedUserAlertVariant = +export type GroupUserAlertVariant = | 'resendManagedUserInviteSuccess' | 'resendManagedUserInviteFailed' | 'resendGroupInviteSuccess' @@ -7,9 +7,9 @@ export type ManagedUserAlertVariant = | 'resendSSOLinkInviteSuccess' | 'resendSSOLinkInviteFailed' -export type ManagedUserAlert = +export type GroupUserAlert = | { - variant: ManagedUserAlertVariant + variant: GroupUserAlertVariant email?: string } | undefined diff --git a/services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx b/services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx index 9a59779602..882cabaf16 100644 --- a/services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx +++ b/services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx @@ -24,7 +24,7 @@ function mountDropDownComponent(user: User, subscriptionId: string) { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) diff --git a/services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx b/services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx index b06e0ec7c5..09b788e28c 100644 --- a/services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx +++ b/services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx @@ -37,7 +37,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -88,7 +88,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -123,7 +123,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -158,7 +158,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -206,7 +206,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -256,7 +256,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -291,7 +291,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -326,7 +326,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -374,7 +374,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -426,7 +426,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -461,7 +461,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -496,7 +496,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -545,7 +545,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -597,7 +597,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -632,7 +632,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> ) @@ -667,7 +667,7 @@ describe('MemberRow', function () { user={user} openOffboardingModalForUser={sinon.stub()} groupId={subscriptionId} - setManagedUserAlert={sinon.stub()} + setGroupUserAlert={sinon.stub()} /> )