synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
89 lines (88 loc) • 3.24 kB
JavaScript
import { jsx as r, Fragment as C } from "react/jsx-runtime";
import { useGetProfileImage as S } from "../../synapse-queries/file/useFiles.js";
import { useGetPrincipalIdForAlias as E, useGetUserProfile as _ } from "../../synapse-queries/user/useUserBundle.js";
import "../../utils/PermissionLevelToAccessType.js";
import { LARGE_USER_CARD as h, MEDIUM_USER_CARD as v, SMALL_USER_CARD as D, AVATAR as M } from "../../utils/SynapseConstants.js";
import { useMemo as w } from "react";
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 { AliasType as F } from "@sage-bionetworks/synapse-types";
import "../../utils/functions/EntityTypeUtils.js";
import "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import "../../utils/context/SynapseContext.js";
import "use-deep-compare-effect";
import "@tanstack/react-query";
import "@tanstack/query-core";
import "lodash-es/isEmpty";
import "lodash-es/isEqual";
import "lodash-es/xorWith";
import "@mui/material";
import "@sage-bionetworks/synapse-client";
import "../../utils/types/IsType.js";
import G, { useCreateUrlForData as b } from "../../utils/hooks/usePreFetchResource.js";
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 "react-router";
import { Avatar as x } from "./Avatar.js";
import { UserBadge as y } from "./UserBadge.js";
import { UserCardMedium as c } from "./UserCardMedium.js";
function gr(l) {
const {
userProfile: e,
preSignedURL: a,
size: f,
ownerId: s,
alias: m,
...p
} = l, { data: u, isLoading: A } = E(
{
alias: m,
type: F.USER_NAME
},
{ enabled: !!m }
), o = (s ?? e?.ownerId ?? u)?.toString(), { data: L, isLoading: U } = _(o, {
enabled: !!o && !e
}), i = e ?? L, { data: g, isLoading: n } = S(
o,
{
// Don't fetch the avatar if `initialPresignedURL` is provided.
// Also, wait until we have a value for `principalId`
enabled: !!(!a && o)
}
), R = G(a), P = b(g), d = R ?? P, I = A || U, t = w(
() => ({
userProfile: i,
imageURL: d,
isLoadingAvatar: n,
...p
}),
[d, n, p, i]
);
if (I || i == null)
return /* @__PURE__ */ r(C, {});
switch (f) {
case M:
return /* @__PURE__ */ r(x, { ...t });
case D:
return /* @__PURE__ */ r(y, { userId: s ?? i.ownerId, ...t });
case v:
return /* @__PURE__ */ r(c, { ...t });
case h:
return /* @__PURE__ */ r(c, { isLarge: !0, ...t });
default:
return console.warn("No size specified for UserCard"), /* @__PURE__ */ r("span", {});
}
}
export {
gr as UserCard,
gr as default
};
//# sourceMappingURL=UserCard.js.map