import classnames from 'classnames'; import { useActiveRequest } from '../hooks/useActiveRequest'; import { useIsResponseLoading } from '../hooks/useIsResponseLoading'; import { useKeyValues } from '../hooks/useKeyValues'; import { useSendRequest } from '../hooks/useSendRequest'; import { useUpdateRequest } from '../hooks/useUpdateRequest'; import { tryFormatJson } from '../lib/formatters'; import { Editor } from './core/Editor'; import { PairEditor } from './core/PairEditor'; import { TabContent, Tabs } from './core/Tabs/Tabs'; import { GraphQLEditor } from './editors/GraphQLEditor'; import { UrlBar } from './UrlBar'; interface Props { fullHeight: boolean; className?: string; } export function RequestPane({ fullHeight, className }: Props) { const activeRequest = useActiveRequest(); const updateRequest = useUpdateRequest(activeRequest); const sendRequest = useSendRequest(activeRequest); const responseLoading = useIsResponseLoading(); const activeTab = useKeyValues({ key: ['active_request_body_tab', activeRequest?.id ?? 'n/a'], initialValue: 'body', }); if (activeRequest === null) return null; return (