import { AGENT_CHAT_STOP_EVENT_NAME } from '@/ai/constants/AgentChatStopEventName'; import { agentChatInputIsEmptySelector } from '@/ai/states/selectors/agentChatInputIsEmptySelector'; import { agentChatIsLoadingState } from '@/ai/states/agentChatIsLoadingState'; import { agentChatIsStreamingComponentFamilyState } from '@/ai/states/agentChatIsStreamingComponentFamilyState'; import { currentAiChatThreadState } from '@/ai/states/currentAiChatThreadState'; import { dispatchBrowserEvent } from '@/browser-event/utils/dispatchBrowserEvent'; import { useAtomComponentFamilyStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentFamilyStateValue'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { IconArrowUp, IconPlayerStop } from 'twenty-ui-deprecated/display'; import { RoundedIconButton } from 'twenty-ui-deprecated/input'; type SendMessageButtonProps = { onSend: () => void; }; export const SendMessageButton = ({ onSend }: SendMessageButtonProps) => { const agentChatInputIsEmpty = useAtomStateValue( agentChatInputIsEmptySelector, ); const agentChatIsLoading = useAtomStateValue(agentChatIsLoadingState); const currentAiChatThread = useAtomStateValue(currentAiChatThreadState); const agentChatIsStreaming = useAtomComponentFamilyStateValue( agentChatIsStreamingComponentFamilyState, { threadId: currentAiChatThread }, ); const handleStopClick = () => { dispatchBrowserEvent(AGENT_CHAT_STOP_EVENT_NAME); }; if (agentChatIsStreaming) { return ( ); } return ( ); };