chatbot-template/components/message-reasoning.tsx

38 lines
740 B
TypeScript
Raw Normal View History

'use client';
import { useState, useEffect } from 'react';
2025-09-09 15:44:07 -04:00
import {
Reasoning,
ReasoningTrigger,
ReasoningContent,
} from './elements/reasoning';
interface MessageReasoningProps {
isLoading: boolean;
reasoning: string;
}
export function MessageReasoning({
isLoading,
reasoning,
}: MessageReasoningProps) {
const [hasBeenStreaming, setHasBeenStreaming] = useState(isLoading);
useEffect(() => {
if (isLoading) {
setHasBeenStreaming(true);
}
}, [isLoading]);
return (
2025-09-09 15:44:07 -04:00
<Reasoning
isStreaming={isLoading}
defaultOpen={hasBeenStreaming}
data-testid="message-reasoning"
2025-08-28 14:15:36 +01:00
>
<ReasoningTrigger />
<ReasoningContent>{reasoning}</ReasoningContent>
</Reasoning>
);
}