summaryrefslogtreecommitdiffstats
path: root/src/components/RequestSummary/RequestSummary.tsx
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2022-01-19 21:27:21 +0100
committerGravatar Tom van der Lee <tom@vanderlee.io>2022-01-25 22:06:58 +0100
commit51a2ac628822e96459b3d570eada953ac8927d43 (patch)
tree7bb3766580f0fe88d5ff5786e1ad5a640704cc8d /src/components/RequestSummary/RequestSummary.tsx
parent1af1996d38ceaf2b96dcd5b1a6ee0a9c158022f8 (diff)
downloadclient-51a2ac628822e96459b3d570eada953ac8927d43.tar.gz
client-51a2ac628822e96459b3d570eada953ac8927d43.tar.bz2
client-51a2ac628822e96459b3d570eada953ac8927d43.zip
Added boostrap
Diffstat (limited to 'src/components/RequestSummary/RequestSummary.tsx')
-rw-r--r--src/components/RequestSummary/RequestSummary.tsx49
1 files changed, 33 insertions, 16 deletions
diff --git a/src/components/RequestSummary/RequestSummary.tsx b/src/components/RequestSummary/RequestSummary.tsx
index af928c0..ea28f3e 100644
--- a/src/components/RequestSummary/RequestSummary.tsx
+++ b/src/components/RequestSummary/RequestSummary.tsx
@@ -3,31 +3,48 @@ import * as React from "react";
3import classNames from "classnames"; 3import classNames from "classnames";
4 4
5import styles from './RequestSummary.module.scss'; 5import styles from './RequestSummary.module.scss';
6import {Badge, Card, Col, Row} from "react-bootstrap";
6 7
7interface RequestSummaryProps { 8interface RequestSummaryProps {
9 selected?: boolean
8 requestResponse: RequestResponse 10 requestResponse: RequestResponse
9 className?: string
10} 11}
11 12
12function isBetween(value: number, min: number, max: number) { 13function isBetween(value: number, min: number, max: number) {
13 return value >= min && value <= max 14 return value >= min && value <= max
14} 15}
15 16
16export default function RequestSummary({ requestResponse: { request, response }, className = ''}: RequestSummaryProps) { 17function calcBadgeVariant(statusCode: number | undefined): string {
17 const statusCode = response?.status ?? 0 18 if (statusCode === undefined) {
19 return 'secondary';
20 } else if (isBetween(statusCode, 100, 199)) {
21 return 'info';
22 } else if (isBetween(statusCode, 200, 299)) {
23 return 'success';
24 } else if (isBetween(statusCode, 300, 399)) {
25 return 'primary';
26 } else if (isBetween(statusCode, 400, 499)) {
27 return 'danger';
28 } else if (isBetween(statusCode, 500, 599)) {
29 return 'warning';
30 }
31}
32
33export default function RequestSummary({ requestResponse: { request, response }, selected = false }: RequestSummaryProps) {
18 return ( 34 return (
19 <div className={classNames(styles.requestSummary, className)}> 35 <Row>
20 <span className={styles.method}>{ request.method }</span> 36 <Col className='flex-grow-0 d-flex align-items-center'>{request.method}</Col>
21 <p>{ request.path }</p> 37 <Col className='flex-grow-1'>{ request.path }</Col>
22 <span className={classNames(styles.statusCode, { 38 <Col className='flex-grow-0 d-flex align-items-center'>
23 [styles.info]: isBetween(statusCode, 100, 199), 39 <Badge
24 [styles.success]: isBetween(statusCode, 200, 299), 40 className={classNames({
25 [styles.redirect]: isBetween(statusCode, 300, 399), 41 'border': selected,
26 [styles.clientError]: isBetween(statusCode, 400, 499), 42 })}
27 [styles.serverError]: isBetween(statusCode, 500, 599) 43 bg={calcBadgeVariant(response?.status)}
28 })}> 44 >
29 { response?.status ?? 'Loading...'} 45 { response?.status ?? 'Loading...'}
30 </span> 46 </Badge>
31 </div> 47 </Col>
48 </Row>
32 ) 49 )
33} 50}