From b2801170faf1fbe144247fd9e3f3eef4358a4ec1 Mon Sep 17 00:00:00 2001 From: Vinoth Kumar V <123581387+VinoV1999@users.noreply.github.com> Date: Fri, 16 Jun 2023 18:15:20 +0530 Subject: [PATCH] fix: Default tab selected issue (#9546) * default tab selected issue * refactor: improve cde Signed-off-by: Udit Takkar * fix: use onSuccess Signed-off-by: Udit Takkar * fix: move onsuccess and onerror Signed-off-by: Udit Takkar --------- Signed-off-by: Udit Takkar Co-authored-by: Vinoth Kumar V Co-authored-by: Udit Takkar --- .../ee/teams/components/AddNewTeamMembers.tsx | 72 +++++++++--------- .../components/MemberInvitationModal.tsx | 12 ++- .../ee/teams/components/TeamListItem.tsx | 72 +++++++++--------- .../ee/teams/pages/team-members-view.tsx | 73 ++++++++++--------- 4 files changed, 123 insertions(+), 106 deletions(-) diff --git a/packages/features/ee/teams/components/AddNewTeamMembers.tsx b/packages/features/ee/teams/components/AddNewTeamMembers.tsx index cf9d517139..8c092d3377 100644 --- a/packages/features/ee/teams/components/AddNewTeamMembers.tsx +++ b/packages/features/ee/teams/components/AddNewTeamMembers.tsx @@ -59,32 +59,7 @@ export const AddNewTeamMembersForm = ({ const { data: team, isLoading } = trpc.viewer.teams.get.useQuery({ teamId }); - const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation({ - async onSuccess(data) { - await utils.viewer.teams.get.invalidate(); - setMemberInviteModal(false); - if (data.sendEmailInvitation) { - if (Array.isArray(data.usernameOrEmail)) { - showToast( - t("email_invite_team_bulk", { - userCount: data.usernameOrEmail.length, - }), - "success" - ); - } else { - showToast( - t("email_invite_team", { - email: data.usernameOrEmail, - }), - "success" - ); - } - } - }, - onError: (error) => { - showToast(error.message, "error"); - }, - }); + const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation(); const publishTeamMutation = trpc.viewer.teams.publish.useMutation({ onSuccess(data) { @@ -121,14 +96,43 @@ export const AddNewTeamMembersForm = ({ teamId={teamId} token={team?.inviteToken?.token} onExit={() => setMemberInviteModal(false)} - onSubmit={(values) => { - inviteMemberMutation.mutate({ - teamId, - language: i18n.language, - role: values.role, - usernameOrEmail: values.emailOrUsername, - sendEmailInvitation: values.sendInviteEmail, - }); + onSubmit={(values, resetFields) => { + inviteMemberMutation.mutate( + { + teamId, + language: i18n.language, + role: values.role, + usernameOrEmail: values.emailOrUsername, + sendEmailInvitation: values.sendInviteEmail, + }, + { + onSuccess: async (data) => { + await utils.viewer.teams.get.invalidate(); + setMemberInviteModal(false); + if (data.sendEmailInvitation) { + if (Array.isArray(data.usernameOrEmail)) { + showToast( + t("email_invite_team_bulk", { + userCount: data.usernameOrEmail.length, + }), + "success" + ); + resetFields(); + } else { + showToast( + t("email_invite_team", { + email: data.usernameOrEmail, + }), + "success" + ); + } + } + }, + onError: (error) => { + showToast(error.message, "error"); + }, + } + ); }} onSettingsOpen={() => { setMemberInviteModal(false); diff --git a/packages/features/ee/teams/components/MemberInvitationModal.tsx b/packages/features/ee/teams/components/MemberInvitationModal.tsx index a7e169d563..8e3ec77f78 100644 --- a/packages/features/ee/teams/components/MemberInvitationModal.tsx +++ b/packages/features/ee/teams/components/MemberInvitationModal.tsx @@ -31,7 +31,7 @@ import { GoogleWorkspaceInviteButton } from "./GoogleWorkspaceInviteButton"; type MemberInvitationModalProps = { isOpen: boolean; onExit: () => void; - onSubmit: (values: NewMemberForm) => void; + onSubmit: (values: NewMemberForm, resetFields: () => void) => void; onSettingsOpen?: () => void; teamId: number; members: PendingMember[]; @@ -114,6 +114,12 @@ export default function MemberInvitationModal(props: MemberInvitationModalProps) } }; + const resetFields = () => { + newMemberFormMethods.reset(); + newMemberFormMethods.setValue("emailOrUsername", ""); + setModalInputMode("INDIVIDUAL"); + }; + return ( -
props.onSubmit(values)}> + props.onSubmit(values, resetFields)}>
{/* Indivdual Invite */} {modalImportMode === "INDIVIDUAL" && ( @@ -308,7 +314,7 @@ export default function MemberInvitationModal(props: MemberInvitationModalProps) color="minimal" onClick={() => { props.onExit(); - newMemberFormMethods.reset(); + resetFields(); }}> {t("cancel")} diff --git a/packages/features/ee/teams/components/TeamListItem.tsx b/packages/features/ee/teams/components/TeamListItem.tsx index d0fc01c41e..cfe633c387 100644 --- a/packages/features/ee/teams/components/TeamListItem.tsx +++ b/packages/features/ee/teams/components/TeamListItem.tsx @@ -64,32 +64,7 @@ export default function TeamListItem(props: Props) { const [openInviteLinkSettingsModal, setOpenInviteLinkSettingsModal] = useState(false); const teamQuery = trpc.viewer.teams.get.useQuery({ teamId: team?.id }); - const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation({ - async onSuccess(data) { - await utils.viewer.teams.get.invalidate(); - setOpenMemberInvitationModal(false); - if (data.sendEmailInvitation) { - if (Array.isArray(data.usernameOrEmail)) { - showToast( - t("email_invite_team_bulk", { - userCount: data.usernameOrEmail.length, - }), - "success" - ); - } else { - showToast( - t("email_invite_team", { - email: data.usernameOrEmail, - }), - "success" - ); - } - } - }, - onError: (error) => { - showToast(error.message, "error"); - }, - }); + const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation(); const acceptOrLeaveMutation = trpc.viewer.teams.acceptOrLeave.useMutation({ onSuccess: () => { @@ -146,14 +121,43 @@ export default function TeamListItem(props: Props) { onExit={() => { setOpenMemberInvitationModal(false); }} - onSubmit={(values) => { - inviteMemberMutation.mutate({ - teamId: team.id, - language: i18n.language, - role: values.role, - usernameOrEmail: values.emailOrUsername, - sendEmailInvitation: values.sendInviteEmail, - }); + onSubmit={(values, resetFields) => { + inviteMemberMutation.mutate( + { + teamId: team.id, + language: i18n.language, + role: values.role, + usernameOrEmail: values.emailOrUsername, + sendEmailInvitation: values.sendInviteEmail, + }, + { + onSuccess: async (data) => { + await utils.viewer.teams.get.invalidate(); + setOpenMemberInvitationModal(false); + if (data.sendEmailInvitation) { + if (Array.isArray(data.usernameOrEmail)) { + showToast( + t("email_invite_team_bulk", { + userCount: data.usernameOrEmail.length, + }), + "success" + ); + resetFields(); + } else { + showToast( + t("email_invite_team", { + email: data.usernameOrEmail, + }), + "success" + ); + } + } + }, + onError: (error) => { + showToast(error.message, "error"); + }, + } + ); }} onSettingsOpen={() => { setOpenMemberInvitationModal(false); diff --git a/packages/features/ee/teams/pages/team-members-view.tsx b/packages/features/ee/teams/pages/team-members-view.tsx index 4e61a23496..107f2ceb9d 100644 --- a/packages/features/ee/teams/pages/team-members-view.tsx +++ b/packages/features/ee/teams/pages/team-members-view.tsx @@ -67,7 +67,6 @@ const MembersView = () => { const router = useRouter(); const session = useSession(); - const utils = trpc.useContext(); const teamId = Number(router.query.id); @@ -84,32 +83,7 @@ const MembersView = () => { } ); - const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation({ - async onSuccess(data) { - await utils.viewer.teams.get.invalidate(); - setShowMemberInvitationModal(false); - if (data.sendEmailInvitation) { - if (Array.isArray(data.usernameOrEmail)) { - showToast( - t("email_invite_team_bulk", { - userCount: data.usernameOrEmail.length, - }), - "success" - ); - } else { - showToast( - t("email_invite_team", { - email: data.usernameOrEmail, - }), - "success" - ); - } - } - }, - onError: (error) => { - showToast(error.message, "error"); - }, - }); + const inviteMemberMutation = trpc.viewer.teams.inviteMember.useMutation(); const isInviteOpen = !team?.membership.accepted; @@ -177,14 +151,43 @@ const MembersView = () => { teamId={team.id} token={team.inviteToken?.token} onExit={() => setShowMemberInvitationModal(false)} - onSubmit={(values) => { - inviteMemberMutation.mutate({ - teamId, - language: i18n.language, - role: values.role, - usernameOrEmail: values.emailOrUsername, - sendEmailInvitation: values.sendInviteEmail, - }); + onSubmit={(values, resetFields) => { + inviteMemberMutation.mutate( + { + teamId, + language: i18n.language, + role: values.role, + usernameOrEmail: values.emailOrUsername, + sendEmailInvitation: values.sendInviteEmail, + }, + { + onSuccess: async (data) => { + await utils.viewer.teams.get.invalidate(); + setShowMemberInvitationModal(false); + if (data.sendEmailInvitation) { + if (Array.isArray(data.usernameOrEmail)) { + showToast( + t("email_invite_team_bulk", { + userCount: data.usernameOrEmail.length, + }), + "success" + ); + resetFields(); + } else { + showToast( + t("email_invite_team", { + email: data.usernameOrEmail, + }), + "success" + ); + } + } + }, + onError: (error) => { + showToast(error.message, "error"); + }, + } + ); }} onSettingsOpen={() => { setShowMemberInvitationModal(false);