From b19c1877d088fbe01bcdea9fbdef282e66ab114f Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Wed, 20 Mar 2024 22:25:56 +0100 Subject: Started with frontend --- src/components/App/App.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/components/App/App.tsx') diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx index b1a4501..5e17388 100644 --- a/src/components/App/App.tsx +++ b/src/components/App/App.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import { ReactElement, useContext, useEffect, useMemo, useState } from "react"; -import useRequests, { ReadyState, RequestResponse } from "~/hooks/useRequests"; +import useRequests from "~/hooks/useRequests"; import styles from "~/components/App/App.module.scss"; import RequestDetails from "~/components/RequestDetails/RequestDetails"; @@ -13,6 +13,7 @@ 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"; interface Config { url: string; -- cgit v1.2.3 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 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) (limited to 'src/components/App/App.tsx') 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() { - +