@cometchat/chat-uikit-react
Version:
Ready-to-use Chat UI Components for React
42 lines (39 loc) • 1.48 kB
JavaScript
import './index.css';
import { useLocale } from './chunk-UVWJYQJ3.js';
import { useMemo } from 'react';
import { jsxs, jsx } from 'react/jsx-runtime';
function extractResultText(message) {
try {
const msgWithData = message;
return msgWithData.getToolResultMessageData?.()?.getText?.() ?? null;
} catch {
return null;
}
}
function formatResult(text) {
try {
return JSON.stringify(JSON.parse(text), null, 2);
} catch {
return text;
}
}
var CometChatToolCallResultBubble = ({
message,
className
}) => {
const { getLocalizedString } = useLocale();
const resultText = useMemo(() => extractResultText(message), [message]);
const formattedResult = useMemo(
() => resultText ? formatResult(resultText) : null,
[resultText]
);
if (!formattedResult) return null;
const rootClasses = ["cometchat-toolcall-result-bubble", className].filter(Boolean).join(" ");
return /* @__PURE__ */ jsxs("div", { className: rootClasses, children: [
/* @__PURE__ */ jsx("div", { className: "cometchat-toolcall-result-bubble__label", children: getLocalizedString("ai_tool_call_result") }),
/* @__PURE__ */ jsx("pre", { className: "cometchat-toolcall-result-bubble__code", children: formattedResult })
] });
};
CometChatToolCallResultBubble.displayName = "CometChatToolCallResultBubble";
var CometChatToolCallResultBubble_default = CometChatToolCallResultBubble;
export { CometChatToolCallResultBubble, CometChatToolCallResultBubble_default };