diff options
Diffstat (limited to 'src/components/App/App.tsx')
| -rw-r--r-- | src/components/App/App.tsx | 54 |
1 files changed, 6 insertions, 48 deletions
diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx index 55ab5b4..e08c84f 100644 --- a/src/components/App/App.tsx +++ b/src/components/App/App.tsx | |||
| @@ -6,8 +6,7 @@ import useRequests, { | |||
| 6 | } from "../../hooks/useRequests"; | 6 | } from "../../hooks/useRequests"; |
| 7 | 7 | ||
| 8 | import styles from './App.module.scss'; | 8 | import styles from './App.module.scss'; |
| 9 | import Details from "../Details/Details"; | 9 | import RequestDetails from "../RequestDetails/RequestDetails"; |
| 10 | import RequestSummary from "../RequestSummary/RequestSummary"; | ||
| 11 | import {getHost} from "../../utils"; | 10 | import {getHost} from "../../utils"; |
| 12 | import {Container, ListGroup, Nav, Navbar, NavDropdown} from "react-bootstrap"; | 11 | import {Container, ListGroup, Nav, Navbar, NavDropdown} from "react-bootstrap"; |
| 13 | import classNames from "classnames"; | 12 | import classNames from "classnames"; |
| @@ -16,6 +15,7 @@ import {Sun} from "../Icons/Sun"; | |||
| 16 | import {Moon} from "../Icons/Moon"; | 15 | import {Moon} from "../Icons/Moon"; |
| 17 | import Trash from "../Icons/Trash"; | 16 | import Trash from "../Icons/Trash"; |
| 18 | import {DarkModeContext} from "../../contexts/DarkMode"; | 17 | import {DarkModeContext} from "../../contexts/DarkMode"; |
| 18 | import RequestList from "../RequestList/RequestList"; | ||
| 19 | 19 | ||
| 20 | interface Config { | 20 | interface Config { |
| 21 | url: string | 21 | url: string |
| @@ -143,53 +143,11 @@ export default function App() { | |||
| 143 | </Navbar> | 143 | </Navbar> |
| 144 | 144 | ||
| 145 | <main className={styles.main}> | 145 | <main className={styles.main}> |
| 146 | <ListGroup | 146 | <div className={classNames("border-end", styles.sidebar)}> |
| 147 | variant='flush' | 147 | <RequestList requests={calls} selectedRequestIndex={selectedRequestIndex} setSelectedRequestIndex={setSelectedRequestIndex}/> |
| 148 | as="ul" | 148 | </div> |
| 149 | className={classNames("border-end", styles.sidebar)} | ||
| 150 | > | ||
| 151 | { | ||
| 152 | calls.length > 0 | ||
| 153 | ? ( | ||
| 154 | calls.slice(0).reverse().map((requestResponse, index) => { | ||
| 155 | const selected = selectedRequestIndex === calls.length - index - 1; | ||
| 156 | return ( | ||
| 157 | <ListGroup.Item | ||
| 158 | as="li" | ||
| 159 | onClick={() => setSelectedRequestIndex(calls.length - index - 1)} | ||
| 160 | key={`request-${index}`} | ||
| 161 | className={classNames({ | ||
| 162 | 'bg-primary': selected, | ||
| 163 | 'text-light': selected, | ||
| 164 | 'border-bottom': true | ||
| 165 | })} | ||
| 166 | > | ||
| 167 | <RequestSummary | ||
| 168 | requestResponse={requestResponse} | ||
| 169 | selected={selected} | ||
| 170 | /> | ||
| 171 | </ListGroup.Item> | ||
| 172 | ) | ||
| 173 | }) | ||
| 174 | ) | ||
| 175 | : ( | ||
| 176 | <div className={styles.noRequest}> | ||
| 177 | <p>No requests</p> | ||
| 178 | </div> | ||
| 179 | ) | ||
| 180 | } | ||
| 181 | </ListGroup> | ||
| 182 | <div className={styles.details}> | 149 | <div className={styles.details}> |
| 183 | { | 150 | <RequestDetails requestResponse={selectedRequest} /> |
| 184 | selectedRequest !== null | ||
| 185 | ? ( | ||
| 186 | <Details requestResponse={selectedRequest} /> | ||
| 187 | ) : ( | ||
| 188 | <div className={styles.noRequestSelected}> | ||
| 189 | <p>Select a request to inspect it</p> | ||
| 190 | </div> | ||
| 191 | ) | ||
| 192 | } | ||
| 193 | </div> | 151 | </div> |
| 194 | </main> | 152 | </main> |
| 195 | </div> | 153 | </div> |
