@blocklet/ui-react
Version:
Some useful front-end web components that can be used in Blocklets.
27 lines (26 loc) • 767 B
JavaScript
import { use as s } from "react";
import { WsClient as o } from "@arcblock/ws";
import { SessionContext as n } from "@arcblock/did-connect/lib/Session";
import { joinURL as f } from "ufo";
import { BLOCKLET_SERVICE_PATH_PREFIX as m } from "@arcblock/ux/lib/Util/constant";
const e = {};
function a(t = "admin") {
let r = "/";
!window?.blocklet && window?.env?.apiPrefix && (r = window.env.apiPrefix);
const i = f(r, m, t);
return new o(i, {
heartbeatIntervalMs: 100 * 1e3
});
}
function c(t = "admin") {
return e[t] || (e[t] = a(t)), e[t];
}
const P = (t = "admin") => {
const r = s(n), { session: i } = r ?? {};
return !e[t] && i.user && (e[t] = c(t), e[t].connect()), e[t];
};
export {
a as create,
c as default,
P as useListenWsClient
};