From 871a85d9343cf49646d13dc455c062efadcb959a Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Sat, 12 Feb 2022 11:33:52 +0100 Subject: Beatified code --- src/components/RequestDetails/RequestDetails.tsx | 159 ++++++++++------------- 1 file changed, 72 insertions(+), 87 deletions(-) (limited to 'src/components/RequestDetails') diff --git a/src/components/RequestDetails/RequestDetails.tsx b/src/components/RequestDetails/RequestDetails.tsx index 34e572c..693f691 100644 --- a/src/components/RequestDetails/RequestDetails.tsx +++ b/src/components/RequestDetails/RequestDetails.tsx @@ -1,94 +1,87 @@ import * as React from "react"; -import {useCallback, useMemo, useState} from "react"; -import {RequestResponse, Headers} from "../../hooks/useRequests"; +import { useCallback, useMemo, useState } from "react"; +import { RequestResponse, Headers } from "../../hooks/useRequests"; import styles from "./RequestDetails.module.scss"; import RequestSummary from "../RequestSummary/RequestSummary"; import Content from "../Content/Content"; -import {getHost} from "../../utils"; -import {Button, Card, Col, Container, Nav, Row, Table} from "react-bootstrap"; - +import { getHost } from "../../utils"; +import { Button, Card, Col, Container, Nav, Row, Table } from "react-bootstrap"; interface TimingProps { timing: number; } - function Timing({ timing }: TimingProps) { - const value = useMemo(() => (Math.round(timing * 1000) / 1000), [timing]); + const value = useMemo(() => Math.round(timing * 1000) / 1000, [timing]); const showSeconds = useMemo(() => value > 1, [value]); - return !Number.isNaN(value) - ? ( - <> - {`${showSeconds ? value : value * 1000}${ showSeconds ? 's' : 'ms' }`} - - ) - : null; + return !Number.isNaN(value) ? ( + <>{`${showSeconds ? value : value * 1000}${showSeconds ? "s" : "ms"}`} + ) : null; } interface HeadersProps { - title: string - headers: Headers + title: string; + headers: Headers; } function Headers({ title, headers }: HeadersProps) { return ( - - +
+ + + + + + + {headers.map(([key, value]) => ( - + + - - - { - headers.map(([key, value]) => ( - - - - - )) - } - -
+ {title} +
{ title }{key}{value}
{key}{value}
+ ))} + +
- ) + ); } interface DetailsProps { - requestResponse: RequestResponse | null + requestResponse: RequestResponse | null; } -type Tab = 'headers' | 'request' | 'response' +type Tab = "headers" | "request" | "response"; export default function RequestDetails({ requestResponse }: DetailsProps) { - const [tab, selectTab] = useState('headers'); + const [tab, selectTab] = useState("headers"); const [raw, setRaw] = useState(false); - const resend = useCallback(async () => requestResponse !== null && fetch( - `http://${getHost()}/resend/`, - { - method: 'POST', - body: JSON.stringify({ - ...requestResponse.request, - id: undefined - }) - } - ), [requestResponse]); + const resend = useCallback( + async () => + requestResponse !== null && + fetch(`http://${getHost()}/resend/`, { + method: "POST", + body: JSON.stringify({ + ...requestResponse.request, + id: undefined, + }), + }), + [requestResponse] + ); return requestResponse !== null ? (
- - + + @@ -100,14 +93,10 @@ export default function RequestDetails({ requestResponse }: DetailsProps) { onSelect={(tab) => selectTab(tab as Tab)} > - - Headers - + Headers - - Request - + Request -
- { - tab === 'headers' && ( - <> + {tab === "headers" && ( + <> + + {requestResponse.response && ( - { - requestResponse.response && ( - - ) - } - - ) - } - { - tab === 'request' && ( - - ) - } - { - tab === 'response' && requestResponse.response !== undefined && ( - - ) - } + )} + + )} + {tab === "request" && ( + + )} + {tab === "response" && requestResponse.response !== undefined && ( + + )}
) : (

Select a request to inspect it

- ) + ); } -- cgit v1.2.3