improvement: address feedback

This commit is contained in:
Scott Wilson
2025-06-30 09:12:47 -07:00
parent 48f40ff938
commit 85023916e4
@@ -103,8 +103,10 @@ export const OrgMembersTable = ({ handlePopUpOpen, setCompleteInviteLinks }: Pro
const { data: serverDetails } = useFetchServerStatus(); const { data: serverDetails } = useFetchServerStatus();
const { data: members = [], isPending: isMembersLoading } = useGetOrgUsers(orgId); const { data: members = [], isPending: isMembersLoading } = useGetOrgUsers(orgId);
const { mutateAsync: resendOrgMemberInvitation } = useResendOrgMemberInvitation(); const { mutateAsync: resendOrgMemberInvitation, isPending: isResendInvitePending } =
useResendOrgMemberInvitation();
const { mutateAsync: updateOrgMembership } = useUpdateOrgMembership(); const { mutateAsync: updateOrgMembership } = useUpdateOrgMembership();
const [resendInviteId, setResendInviteId] = useState<string | null>(null);
const onRoleChange = async (membershipId: string, role: string) => { const onRoleChange = async (membershipId: string, role: string) => {
if (!currentOrg?.id) return; if (!currentOrg?.id) return;
@@ -140,6 +142,7 @@ export const OrgMembersTable = ({ handlePopUpOpen, setCompleteInviteLinks }: Pro
}; };
const onResendInvite = async (membershipId: string) => { const onResendInvite = async (membershipId: string) => {
setResendInviteId(membershipId);
try { try {
const signupToken = await resendOrgMemberInvitation({ const signupToken = await resendOrgMemberInvitation({
membershipId membershipId
@@ -160,6 +163,8 @@ export const OrgMembersTable = ({ handlePopUpOpen, setCompleteInviteLinks }: Pro
text: "Failed to resend org invitation", text: "Failed to resend org invitation",
type: "error" type: "error"
}); });
} finally {
setResendInviteId(null);
} }
}; };
@@ -497,10 +502,13 @@ export const OrgMembersTable = ({ handlePopUpOpen, setCompleteInviteLinks }: Pro
> >
{(isAllowed) => ( {(isAllowed) => (
<Button <Button
isDisabled={!isAllowed} isDisabled={!isAllowed || isResendInvitePending}
className="h-8 border-mineshaft-600 bg-mineshaft-700 font-normal" className="h-8 border-mineshaft-600 bg-mineshaft-700 font-normal"
colorSchema="primary" colorSchema="primary"
variant="outline_bg" variant="outline_bg"
isLoading={
isResendInvitePending && resendInviteId === orgMembershipId
}
onClick={(e) => { onClick={(e) => {
onResendInvite(orgMembershipId); onResendInvite(orgMembershipId);
e.stopPropagation(); e.stopPropagation();