import React from 'react' import { atom, useAtom } from 'jotai' import { ChevronDown, ChevronUp, Loader } from 'lucide-react' import { MarkdownTextMessage } from './MarkdownTextMessage' interface Props { result: string name: string id: number loading: boolean } const toolCallBlockStateAtom = atom<{ [id: number]: boolean }>({}) const ToolCallBlock = ({ id, name, result, loading }: Props) => { const [collapseState, setCollapseState] = useAtom(toolCallBlockStateAtom) const isExpanded = collapseState[id] ?? false const handleClick = () => { setCollapseState((prev) => ({ ...prev, [id]: !isExpanded })) } return (
{loading && ( )}
{isExpanded && (
{result ?? ''}
)}
) } export default ToolCallBlock