import { useDeleteAllResponses, useDeleteResponse, useResponses } from '../hooks/useResponses'; import { motion } from 'framer-motion'; import { HStack, VStack } from './Stacks'; import Editor from './Editor/Editor'; import { useMemo } from 'react'; import { WindowDragRegion } from './WindowDragRegion'; import { Dropdown } from './Dropdown'; import { IconButton } from './IconButton'; interface Props { requestId: string; error: string | null; } export function ResponsePane({ requestId, error }: Props) { const responses = useResponses(requestId); const response = responses.data[0]; const deleteResponse = useDeleteResponse(response); const deleteAllResponses = useDeleteAllResponses(response?.requestId); const contentType = useMemo( () => response?.headers.find((h) => h.name.toLowerCase() === 'content-type')?.value ?? 'text/plain', [response], ); const contentForIframe: string = useMemo(() => { if (response == null) return ''; if (response.body.includes('
')) { return response.body.replace(//gi, `