UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

108 lines (107 loc) 4.12 kB
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