From f570b75b8ddf189835824cc9d261f7e893029eca Mon Sep 17 00:00:00 2001 From: Ayomide-codex Date: Tue, 30 Jun 2026 09:45:03 +0100 Subject: [PATCH 1/2] Add avatar property to APIItem type --- src/data/mockApis.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/mockApis.ts b/src/data/mockApis.ts index 959fc30..49a5330 100644 --- a/src/data/mockApis.ts +++ b/src/data/mockApis.ts @@ -7,6 +7,8 @@ export type Review = { verified: boolean; }; + + export type APIItem = { id: string; name: string; From 2e9f5a57b90696e227ceefbef6a49a4e64f72e38 Mon Sep 17 00:00:00 2001 From: ayomide-codex Date: Thu, 2 Jul 2026 17:03:36 +0100 Subject: [PATCH 2/2] feat: keyboard shortcuts cheat-sheet modal --- src/App.tsx | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 47e88cf..5099f26 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -310,6 +310,11 @@ function App() { const [amountInput, setAmountInput] = useState("50"); const [selectedPreset, setSelectedPreset] = useState(50); + const [isTouchDevice, setIsTouchDevice] = useState(false); + useEffect(() => { + setIsTouchDevice('ontouchstart' in window || navigator.maxTouchPoints > 0); + }, []); + // Handle global shortcuts const handleGlobalKeyDown = useCallback((event: KeyboardEvent) => { // Navigation to My APIs (e.g. g then a) @@ -774,13 +779,24 @@ function App() { isActive ? "link-nav active" : "link-nav"}>Theme Playground isActive ? "link-nav active" : "link-nav"}>Status isActive ? "link-nav active" : "link-nav"}>Documentation + {!isTouchDevice && ( + + )} - setIsShortcutsModalOpen(false)} - /> + {!isTouchDevice && ( + setIsShortcutsModalOpen(false)} + /> + )}