import { Message } from 'ai'; import { toast } from 'sonner'; import { useSWRConfig } from 'swr'; import { useCopyToClipboard } from 'usehooks-ts'; import { Vote } from '@/lib/db/schema'; import { getMessageIdFromAnnotations } from '@/lib/utils'; import { CopyIcon, ThumbDownIcon, ThumbUpIcon } from './icons'; import { Button } from '../ui/button'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from '../ui/tooltip'; export function MessageActions({ chatId, message, vote, isLoading, }: { chatId: string; message: Message; vote: Vote | undefined; isLoading: boolean; }) { const { mutate } = useSWRConfig(); const [_, copyToClipboard] = useCopyToClipboard(); if (isLoading) return null; if (message.role === 'user') return null; if (message.toolInvocations && message.toolInvocations.length > 0) return null; return (
Copy Upvote Response Downvote Response
); }