UNPKG

@cometchat/chat-uikit-react

Version:

Ready-to-use Chat UI Components for React

42 lines (39 loc) 1.48 kB
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 };