"use client"; import { useState } from "react"; import { Options } from "redaxios"; import { Toggle } from "@/components/input/toggle"; import { TextInput } from "@/components/input/input"; import { usePersistentState } from "@/utils/usePersistentState"; import { Body } from "@/utils/type"; import { useUpdateEffect } from "react-use"; export const Request = ({ parameters, body, formattedBody, onBodyChange, children, onParamsChange, }: { parameters: any; children: React.ReactElement; body: Array | undefined; formattedBody: Options | undefined; onBodyChange: (o: Options) => void; onParamsChange: (key: string, value: string | boolean) => void; }) => { const [headers, setHeaders] = usePersistentState("headers", { Authorization: "hf_api_key", }); const [bodyForm, setBodyForm] = useState({}); useUpdateEffect(() => onBodyChange(bodyForm), [bodyForm]); return (
{children} {parameters && (

Optional parameters

{parameters && Object.entries(parameters).map(([key, value]) => (
{typeof value === "boolean" ? (
onParamsChange(key, e)} />
) : ( onParamsChange(key, e)} /> )}
))}
)} {body?.length && (

Body

{body?.length && body.map((b, key) => (
{typeof b.defaultValue === "boolean" ? (
setBodyForm({ ...bodyForm, [b.key]: e })} />
) : ( setBodyForm({ ...bodyForm, [b.key]: e })} /> )}
))}
)}

Headers

setHeaders({ ...headers, Authorization }) } />
); };