import { TabContext, TabList, TabPanel } from "@mui/lab"; import { Box, Tab, Typography } from "@mui/material"; import React, { useState } from "react"; import { KeyValuePairTable } from "./KeyValuePair"; import CenteredPaper from "lib/components/CenteredPaper"; import Editor from "lib/components/Editor"; import { HttpResponseLog } from "lib/graphql/generated"; interface 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;