'use client' import type { ComponentProps } from 'react' import { ChevronDownIcon, PaperclipIcon } from 'lucide-react' import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '@/components/ui/collapsible' import { ScrollArea } from '@/components/ui/scroll-area' export type QueueMessagePart = { type: string text?: string url?: string filename?: string mediaType?: string } export type QueueMessage = { id: string parts: QueueMessagePart[] } export type QueueTodo = { id: string title: string description?: string status?: 'pending' | 'completed' } export type QueueItemProps = ComponentProps<'li'> export const QueueItem = ({ className, ...props }: QueueItemProps) => (
  • ) export type QueueItemIndicatorProps = ComponentProps<'span'> & { completed?: boolean } export const QueueItemIndicator = ({ completed = false, className, ...props }: QueueItemIndicatorProps) => ( ) export type QueueItemContentProps = ComponentProps<'span'> & { completed?: boolean } export const QueueItemContent = ({ completed = false, className, ...props }: QueueItemContentProps) => ( ) export type QueueItemDescriptionProps = ComponentProps<'div'> & { completed?: boolean } export const QueueItemDescription = ({ completed = false, className, ...props }: QueueItemDescriptionProps) => (
    ) export type QueueItemActionsProps = ComponentProps<'div'> export const QueueItemActions = ({ className, ...props }: QueueItemActionsProps) => (
    ) export type QueueItemActionProps = Omit< ComponentProps, 'variant' | 'size' > export const QueueItemAction = ({ className, ...props }: QueueItemActionProps) => (