import { ErrorsSection } from "./error-section"; import { RequestBodySection } from "./request-body-section"; import { ResponseBodySection } from "./response-body-section"; import type { Endpoint, ExpandedResponsesState, ResponseViewState, } from "./types"; export const EndpointSection = ( endpoint: Endpoint, requestBodyView: "schema" | "example", setRequestBodyView: React.Dispatch< React.SetStateAction<"schema" | "example"> >, expandedResponses: ExpandedResponsesState, setExpandedResponses: React.Dispatch< React.SetStateAction >, responseView: ResponseViewState, setResponseView: React.Dispatch>, schemaDefinitions: any ) => { return (
<> {/* Parameters section - only show if there are non-body parameters */} {endpoint.parameters && endpoint.parameters.length > 0 && ( )} {/* Request Body section */} {endpoint.requestBody && ( )} {/* Responses section */} {/* Errors section for 4XX and 5XX */} {Object.entries(endpoint.responses || {}).some( ([code]) => code.startsWith("4") || code.startsWith("5") ) && ( )}
); }; const Header = ({ endpoint }: { endpoint: Endpoint }) => { return (
{endpoint.method} {endpoint.path}
{endpoint?.description}
); }; const ParametersSection = ({ parameters }: { parameters: any[] }) => { if (!parameters || parameters.length === 0) return null; return (

Path Parameters

{parameters.map((param: any, index: number) => (
{param.name} {param.in} {param.type} {param.required && ( required )}
{param.description && (

{param.description}

)}
))}
); };