import { useCallback, useMemo } from 'react'; import type { HttpRequest } from '@yaakapp/api'; import type { Pair, PairEditorProps } from './core/PairEditor'; import { PairOrBulkEditor } from './core/PairOrBulkEditor'; type Props = { forceUpdateKey: string; body: HttpRequest['body']; onChange: (headers: HttpRequest['body']) => void; }; export function FormUrlencodedEditor({ body, forceUpdateKey, onChange }: Props) { const pairs = useMemo( () => (Array.isArray(body.form) ? body.form : []).map((p) => ({ enabled: !!p.enabled, name: p.name || '', value: p.value || '', })), [body.form], ); const handleChange = useCallback( (pairs) => onChange({ form: pairs.map((p) => ({ enabled: p.enabled, name: p.name, value: p.value })) }), [onChange], ); return ( ); }