From 648b804e72d4831e41e02dfd7d6b5a9ac7660b58 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Fri, 30 Aug 2024 11:19:30 +0200 Subject: Added ui --- src/components/App/App.tsx | 39 ++++------- src/components/Frames/Frames.module.scss | 9 +++ src/components/Frames/Frames.tsx | 75 ++++++++++++++++++++++ src/components/Icons/Sliders.tsx | 2 +- src/components/Icons/Trash.tsx | 2 +- src/components/RequestDetails/RequestDetails.tsx | 82 +++++++++++++++--------- src/components/RequestList/RequestList.tsx | 48 +++++++------- src/components/RequestSummary/RequestSummary.tsx | 2 +- 8 files changed, 173 insertions(+), 86 deletions(-) create mode 100644 src/components/Frames/Frames.module.scss create mode 100644 src/components/Frames/Frames.tsx (limited to 'src/components') diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx index 5e17388..ad36add 100644 --- a/src/components/App/App.tsx +++ b/src/components/App/App.tsx @@ -13,7 +13,8 @@ import Moon from "~/components/Icons/Moon"; import Trash from "~/components/Icons/Trash"; import { DarkModeContext } from "~/contexts/DarkMode"; import RequestList from "~/components/RequestList/RequestList"; -import { ReadyState, RequestResponse } from "~/types"; +import { Call, ReadyState } from "~/types"; +import { ConnectionContext } from "~/contexts/Connection"; interface Config { url: string; @@ -48,29 +49,14 @@ const statusTextMap: ReadyStateMap = { export default function App() { const { darkMode, toggle } = useContext(DarkModeContext); - const [config, setConfig] = useState(null); - - const { calls, readyState, clear } = useRequests({ - onConnect: async () => { - const response = await fetch(`http://${getHost()}/config/`); - const config = await response.json(); - setConfig(config); - }, - }); + const { config, selectedCall, setSelectedCall, readyState, clear } = + useContext(ConnectionContext); useEffect(() => { const url = new URL(config?.url ?? "https://loading..."); document.title = `${statusIconMap[readyState]} ${url.host} | TTUN`; }, [readyState, config?.url]); - const [selectedRequestIndex, setSelectedRequestIndex] = useState< - number | null - >(null); - const selectedRequest = useMemo( - () => (selectedRequestIndex === null ? null : calls[selectedRequestIndex]), - [selectedRequestIndex, calls] - ); - const settingsMenu: (SettingsMenu | null)[] = [ { onClick: toggle, @@ -80,7 +66,7 @@ export default function App() { null, { onClick: () => { - setSelectedRequestIndex(null); + setSelectedCall(null); clear(); }, icon: , @@ -106,14 +92,15 @@ export default function App() { - + - +