synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
107 lines (106 loc) • 4.39 kB
JavaScript
import { jsx as r, jsxs as u, Fragment as h } 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 { ApprovalState as O } from "@sage-bionetworks/synapse-types";
import "../../../utils/functions/EntityTypeUtils.js";
import "../../../utils/SynapseConstants.js";
import "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "@tanstack/react-query";
import "../../../utils/PermissionLevelToAccessType.js";
import { useState as P } from "react";
import { useSynapseContext as b } from "../../../utils/context/SynapseContext.js";
import "use-deep-compare-effect";
import { Typography as x, Link as U, Box as E, Alert as L } 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 '../../../style/components/_spinner.css';/* empty css */
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 { isTermsOfUseAccessRequirement as j } from "../../../utils/types/IsType.js";
import { useGetAccessRequirementStatus as B, useGetAccessRequirementWikiPageKey as G, useCreateAccessApproval as M } from "../../../synapse-queries/dataaccess/useAccessRequirements.js";
import { useGetCurrentUserProfile as D, useGetCurrentUserBundle as V } from "../../../synapse-queries/user/useUserBundle.js";
import { Markdown as q } from "../../Markdown/MarkdownSynapse.js";
import { RequirementItemStatus as l } from "../AccessApprovalCheckMark.js";
import N from "./RequirementItem.js";
function we(R) {
const { accessRequirement: e, onHide: S } = R, { isAuthenticated: n } = b(), c = j(e), { data: f } = D(), { data: i } = V(), m = n && i && !c && e.isCertifiedUserRequired && !i.isCertified, a = n && i && !c && e.isValidatedProfileRequired && !i.isVerified, { data: g, isLoading: w } = B(String(e.id)), p = g?.isApproved, { data: o } = G(
e.id.toString()
// TermsOfUse ARs may have the terms embedded in the AR or an associated Wiki.
), [d, T] = P(!1), {
mutate: k,
isPending: C,
error: A
} = M({
onError: (t) => {
console.error("Error creating access approval: ", t);
}
}), y = () => {
const t = {
requirementId: e?.id,
submitterId: f?.ownerId,
accessorId: f?.ownerId,
state: O.APPROVED
};
k(t);
};
let s = /* @__PURE__ */ r(h, {});
c && e.termsOfUse ? s = /* @__PURE__ */ r(q, { markdown: e.termsOfUse }) : o && (s = /* @__PURE__ */ r(
q,
{
wikiId: o?.wikiPageId,
ownerId: o?.ownerObjectId,
objectType: o?.ownerObjectType
}
));
let v;
if (n && !p) {
let t = "I Accept Terms of Use", I = !1;
(m || a) && (I = !0, t = `You must ${m ? "be certified" : ""}${m && a ? " and " : ""}${a ? "have a validated user profile" : ""} to accept`), v = [
{
variant: "outlined",
onClick: y,
children: t,
disabled: C || I
},
{
variant: "text",
onClick: S,
children: "I do not accept"
}
];
}
return /* @__PURE__ */ u(
N,
{
"data-testid": "SelfSignAccessRequirementItem",
status: w ? l.LOADING : p ? l.COMPLETE : l.LOCKED,
actions: v,
children: [
p ? /* @__PURE__ */ u(h, { children: [
/* @__PURE__ */ u(x, { variant: "body1", children: [
"You have accepted the terms of use.",
" ",
/* @__PURE__ */ r(U, { role: "button", onClick: () => T(!d), children: d ? "Hide Terms" : "View Terms" })
] }),
d && /* @__PURE__ */ r(E, { sx: { my: 1 }, children: s })
] }) : s,
A && /* @__PURE__ */ r(L, { severity: "error", children: A.reason })
]
}
);
}
export {
we as default
};
//# sourceMappingURL=SelfSignAccessRequirementItem.js.map