diff options
| author | 2022-01-19 21:27:21 +0100 | |
|---|---|---|
| committer | 2022-01-25 22:06:58 +0100 | |
| commit | 51a2ac628822e96459b3d570eada953ac8927d43 (patch) | |
| tree | 7bb3766580f0fe88d5ff5786e1ad5a640704cc8d /src/components/RequestSummary | |
| parent | 1af1996d38ceaf2b96dcd5b1a6ee0a9c158022f8 (diff) | |
| download | client-51a2ac628822e96459b3d570eada953ac8927d43.tar.gz client-51a2ac628822e96459b3d570eada953ac8927d43.tar.bz2 client-51a2ac628822e96459b3d570eada953ac8927d43.zip | |
Added boostrap
Diffstat (limited to 'src/components/RequestSummary')
| -rw-r--r-- | src/components/RequestSummary/RequestSummary.tsx | 49 |
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"; | |||
| 3 | import classNames from "classnames"; | 3 | import classNames from "classnames"; |
| 4 | 4 | ||
| 5 | import styles from './RequestSummary.module.scss'; | 5 | import styles from './RequestSummary.module.scss'; |
| 6 | import {Badge, Card, Col, Row} from "react-bootstrap"; | ||
| 6 | 7 | ||
| 7 | interface RequestSummaryProps { | 8 | interface RequestSummaryProps { |
| 9 | selected?: boolean | ||
| 8 | requestResponse: RequestResponse | 10 | requestResponse: RequestResponse |
| 9 | className?: string | ||
| 10 | } | 11 | } |
| 11 | 12 | ||
| 12 | function isBetween(value: number, min: number, max: number) { | 13 | function isBetween(value: number, min: number, max: number) { |
| 13 | return value >= min && value <= max | 14 | return value >= min && value <= max |
| 14 | } | 15 | } |
| 15 | 16 | ||
| 16 | export default function RequestSummary({ requestResponse: { request, response }, className = ''}: RequestSummaryProps) { | 17 | function 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 | |||
| 33 | export 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 | } |
