synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
108 lines (107 loc) • 4.12 kB
JavaScript
import { jsx as t, Fragment as u, jsxs as B } from "react/jsx-runtime";
import "../../synapse-client/SynapseClient.js";
import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
import "@sage-bionetworks/synapse-client/util/SynapseClientError";
import { RestrictableObjectType as F } from "@sage-bionetworks/synapse-types";
import "../../utils/functions/EntityTypeUtils.js";
import "../../utils/SynapseConstants.js";
import { isEmpty as P } from "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "@tanstack/react-query";
import "../../utils/PermissionLevelToAccessType.js";
import { useCallback as k } from "react";
import { useSynapseContext as w } from "../../utils/context/SynapseContext.js";
import "use-deep-compare-effect";
import { Alert as O, Typography as D, Button as g } from "@mui/material";
import "../../utils/hooks/useCookiePreferences.js";
import "../../utils/hooks/useSourceAppConfigs.js";
import "universal-cookie";
import "../../utils/AppUtils/session/ApplicationSessionContext.js";
import "../../utils/context/FullContextProvider.js";
import "../../utils/context/DocumentMetadataContext.js";
import { SynapseSpinner as H } from "../LoadingScreen/LoadingScreen.js";
import "@tanstack/query-core";
import "lodash-es/isEmpty";
import "lodash-es/isEqual";
import "lodash-es/xorWith";
import "react-router";
import "@sage-bionetworks/synapse-client";
import "../../utils/types/IsType.js";
import { useGetAccessRequirementsForTeam as L, useGetAccessRequirementStatuses as N } from "../../synapse-queries/dataaccess/useAccessRequirements.js";
import { useGetEntity as Q } from "../../synapse-queries/entity/useEntity.js";
import { useGetEntityChallenge as U } from "../../synapse-queries/entity/useGetEntityChallenge.js";
import { useGetMembershipStatus as z, useAddMemberToTeam as J } from "../../synapse-queries/team/useTeamMembers.js";
import { useGetCurrentUserProfile as K } from "../../synapse-queries/user/useUserBundle.js";
import V from "../AccessRequirementList/AccessRequirementList.js";
function Ge(f) {
const { open: b, projectId: a, onRegisterComplete: m, onCancel: p } = f, { data: h, error: T } = Q(a), { isAuthenticated: y } = w(), { data: i, error: C } = U(a), { data: A, error: I } = K({
enabled: y
}), r = i?.participantTeamId, o = A?.ownerId, { data: n, error: R } = z(r, o, {
enabled: !!(r && o)
}), {
mutateAsync: c,
isPending: s,
error: E
} = J(), {
data: M,
isSuccess: S,
error: q
} = L(i?.participantTeamId, {
enabled: !!i?.participantTeamId
}), j = N(
M?.map((e) => String(e.id)) ?? []
), v = S && j.every((e) => e.status === "success" && e.data.isApproved), G = k(async () => {
r && o && !n?.isMember && await c({
teamId: r,
userId: o
}), m();
}, [
c,
m,
r,
n?.isMember,
o
]), d = [
T,
C,
I,
R,
q,
E
].filter((e) => !!e);
let l = n?.isMember ? "Continue" : "Register";
return s && (l = "Registering..."), P(d) ? !r || !b ? /* @__PURE__ */ t(u, {}) : /* @__PURE__ */ t(
V,
{
dialogTitle: "Challenge Terms and Conditions",
subjectId: r,
subjectType: F.TEAM,
teamId: i?.participantTeamId,
renderAsModal: !0,
requestObjectName: h?.name,
onHide: () => {
p();
},
customDialogActions: /* @__PURE__ */ B(u, { children: [
/* @__PURE__ */ t(g, { variant: "outlined", onClick: p, children: "Cancel" }),
/* @__PURE__ */ t(
g,
{
variant: "contained",
onClick: () => {
G();
},
startIcon: s ? /* @__PURE__ */ t(H, {}) : void 0,
disabled: !v || s,
children: l
}
)
] })
}
) : /* @__PURE__ */ t(O, { severity: "error", children: d.map((e, x) => /* @__PURE__ */ t(D, { variant: "body1", children: e.reason }, x)) });
}
export {
Ge as default
};
//# sourceMappingURL=ChallengeRequirementsModal.js.map