import {
ChevronDown,
ChevronRight,
CheckCircle,
XCircle,
Loader2,
} from 'lucide-react'
import { useState } from 'react'
import { Button } from '../ui/button'
import {
Collapsible,
CollapsibleContent,
CollapsibleTrigger,
} from '../ui/collapsible'
import { cn } from '../lib/utils'
export type ChatEvent = {
title: string
description?: string
status: 'pending' | 'success' | 'error'
data?: any
}
export function ChatEvent({
event,
className,
renderData,
}: {
event: ChatEvent
className?: string
renderData?: (data: ChatEvent['data']) => React.ReactNode
}) {
const [isDataOpen, setIsDataOpen] = useState(false)
const getStatusIcon = () => {
switch (event.status) {
case 'pending':
return
{event.description}
)}
{JSON.stringify(event.data, null, 2)}
)}