'use client' import { type Message } from 'ai' import { Button } from '@/components/ui/button' import { IconCheck, IconCopy, IconEdit, IconRefresh, IconTrash } from '@/components/ui/icons' import { useCopyToClipboard } from '@/lib/hooks/use-copy-to-clipboard' import { cn } from '@/lib/utils' import { MessageActionType } from '@/lib/types' interface ChatMessageActionsProps extends React.ComponentProps<'div'> { message: Message handleMessageAction: (messageId: string, action: MessageActionType) => void } export function ChatMessageActions({ message, className, handleMessageAction, ...props }: ChatMessageActionsProps) { const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 }) const onCopy = () => { if (isCopied) return copyToClipboard(message.content) } return (