import type { HttpRequest } from '@yaakapp-internal/models'; import { useCallback, useRef } from 'react'; import { useRequestEditor, useRequestEditorEvent } from '../hooks/useRequestEditor'; import type { PairEditorHandle, PairEditorProps } from './core/PairEditor'; import { PairOrBulkEditor } from './core/PairOrBulkEditor'; import { VStack } from './core/Stacks'; type Props = { forceUpdateKey: string; pairs: HttpRequest['headers']; stateKey: PairEditorProps['stateKey']; onChange: (headers: HttpRequest['urlParameters']) => void; }; export function UrlParametersEditor({ pairs, forceUpdateKey, onChange, stateKey }: Props) { const pairEditorRef = useRef(null); const handleInitPairEditorRef = useCallback((ref: PairEditorHandle) => { pairEditorRef.current = ref; }, []); const [{ urlParametersKey }] = useRequestEditor(); useRequestEditorEvent( 'request_params.focus_value', (name) => { const pair = pairs.find((p) => p.name === name); if (pair?.id != null) { pairEditorRef.current?.focusValue(pair.id); } else { console.log(`Couldn't find pair to focus`, { name, pairs }); } }, [pairs], ); return ( ); }