import { TabContext, TabList, TabPanel } from "@mui/lab"; import { Box, Tab, Typography } from "@mui/material"; import { useState } from "react"; import { HttpResponseLog } from "../../generated/graphql"; import CenteredPaper from "../common/CenteredPaper"; import Editor from "../common/Editor"; import KeyValuePairTable from "./KeyValuePair"; export type ResponseTabsProps = { headers: HttpResponseLog["headers"]; body: HttpResponseLog["body"]; hasResponse: boolean; }; enum TabValue { Body = "body", Headers = "headers", } const reqNotSent = ( Response not received yet. ); function ResponseTabs(props: ResponseTabsProps): JSX.Element { const { headers, body, hasResponse } = props; const [tabValue, setTabValue] = useState(TabValue.Body); const contentType = headers.find((header) => header.key.toLowerCase() === "content-type")?.value; const tabSx = { textTransform: "none", }; return ( setTabValue(value)}> 1 ? "s" : "") + ")" : "")} sx={tabSx} /> {body && } {!hasResponse && reqNotSent} {headers.length > 0 && } {!hasResponse && reqNotSent} ); } export default ResponseTabs;