'use client'; import { useState } from 'react'; import { ChevronDownIcon, LoaderIcon } from './icons'; import { motion, AnimatePresence } from 'framer-motion'; import { Markdown } from './markdown'; interface MessageReasoningProps { isLoading: boolean; reasoning: string; } export function MessageReasoning({ isLoading, reasoning, }: MessageReasoningProps) { const [isExpanded, setIsExpanded] = useState(true); const variants = { collapsed: { height: 0, opacity: 0, marginTop: 0, marginBottom: 0, }, expanded: { height: 'auto', opacity: 1, marginTop: '1rem', marginBottom: '0.5rem', }, }; return (
{isLoading ? (
Reasoning
) : (
Reasoned for a few seconds
)} {isExpanded && ( {reasoning} )}
); }