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