chatbot-template/components/message-reasoning.tsx
Hayden Bleasel 453f5bb3e6
Upgrades (#1419)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 13:12:33 -07:00

37 lines
739 B
TypeScript

"use client";
import { useEffect, useState } from "react";
import {
Reasoning,
ReasoningContent,
ReasoningTrigger,
} from "./ai-elements/reasoning";
type MessageReasoningProps = {
isLoading: boolean;
reasoning: string;
};
export function MessageReasoning({
isLoading,
reasoning,
}: MessageReasoningProps) {
const [hasBeenStreaming, setHasBeenStreaming] = useState(isLoading);
useEffect(() => {
if (isLoading) {
setHasBeenStreaming(true);
}
}, [isLoading]);
return (
<Reasoning
data-testid="message-reasoning"
defaultOpen={hasBeenStreaming}
isStreaming={isLoading}
>
<ReasoningTrigger />
<ReasoningContent>{reasoning}</ReasoningContent>
</Reasoning>
);
}