// @ts-nocheck import { useParams } from 'common' import { X } from 'lucide-react' import { useMemo } from 'react' import { toast } from 'sonner' import { Button, cn, copyToClipboard } from 'ui' import type { LogData } from './Messages.types' import { SelectedRealtimeMessagePanel } from './SelectedRealtimeMessagePanel' import CopyButton from '@/components/ui/CopyButton' import { ShortcutTooltip } from '@/components/ui/ShortcutTooltip' import { useSendEventMutation } from '@/data/telemetry/send-event-mutation' import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization' import { SHORTCUT_IDS } from '@/state/shortcuts/registry' import { useShortcut } from '@/state/shortcuts/useShortcut' export interface MessageSelectionProps { log: LogData | null onClose: () => void } const MessageSelection = ({ log, onClose }: MessageSelectionProps) => { const selectionText = useMemo(() => { return JSON.stringify(log, null, 2) }, [log]) const { ref } = useParams() const { data: org } = useSelectedOrganizationQuery() const { mutate: sendEvent } = useSendEventMutation() const handleCopy = () => { if (!log) return copyToClipboard(selectionText) toast.success('Message copied to clipboard') } useShortcut(SHORTCUT_IDS.INSPECTOR_COPY_MESSAGE, handleCopy, { enabled: !!log, ignoreInputs: true, registerInCommandMenu: true, }) const copyButton = ( { sendEvent({ action: 'realtime_inspector_copy_message_clicked', groups: { project: ref ?? 'Unknown', organization: org?.slug ?? 'Unknown' }, }) }} /> ) return (

Select a message

Click on a message on the left to view details.

{log ? ( {copyButton} ) : ( copyButton )}
{log && }
) } export default MessageSelection