@liveblocks/react-ui
Version:
A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.
41 lines (36 loc) • 1.06 kB
JavaScript
"use client";
;
var jsxRuntime = require('react/jsx-runtime');
var react = require('@liveblocks/react');
var react$1 = require('react');
var overrides = require('../../overrides.cjs');
var shared = require('../../shared.cjs');
var cn = require('../../utils/cn.cjs');
function User({
userId,
replaceSelf,
className,
children,
...props
}) {
const currentId = shared.useCurrentUserId();
const { user, isLoading } = react.useUser(userId);
const $ = overrides.useOverrides();
const resolvedUserName = react$1.useMemo(() => {
return replaceSelf && currentId === userId ? $.USER_SELF : user?.name ?? $.USER_UNKNOWN;
}, [replaceSelf, currentId, userId, $.USER_SELF, $.USER_UNKNOWN, user?.name]);
return /* @__PURE__ */ jsxRuntime.jsxs(
"span",
{
className: cn.cn("lb-name lb-user", className),
"data-loading": isLoading ? "" : void 0,
...props,
children: [
isLoading ? null : resolvedUserName,
children
]
}
);
}
exports.User = User;
//# sourceMappingURL=User.cjs.map