diff --git a/apps/desktop/src/renderer/src/App.tsx b/apps/desktop/src/renderer/src/App.tsx index 7e09059..47a59b9 100644 --- a/apps/desktop/src/renderer/src/App.tsx +++ b/apps/desktop/src/renderer/src/App.tsx @@ -29,7 +29,6 @@ export function App(): JSX.Element { const activateTabByIndex = useAppStore((s) => s.activateTabByIndex); const reopenClosedTab = useAppStore((s) => s.reopenClosedTab); const activeTabId = useAppStore((s) => s.activeTabId); - const send = useAppStore((s) => s.send); const saveOrPrompt = useAppStore((s) => s.saveOrPrompt); const focusUrl = useAppStore((s) => s.focusUrl); @@ -77,7 +76,19 @@ export function App(): JSX.Element { handler: () => activeTabId && duplicateTab(activeTabId), }, { combo: 'mod+l', description: 'Focus URL bar', handler: () => focusUrl() }, - { combo: 'mod+enter', description: 'Send request', handler: () => void send() }, + { + combo: 'mod+enter', + description: 'Send / cancel request', + handler: () => { + const state = useAppStore.getState(); + const tab = state.tabs.find((t) => t.id === state.activeTabId); + if (tab?.execution.status === 'sending') { + state.cancelSend(); + } else { + void state.send(); + } + }, + }, { combo: 'mod+s', description: 'Save request', handler: () => void saveOrPrompt() }, { combo: 'mod+shift+t', @@ -98,7 +109,6 @@ export function App(): JSX.Element { activateTabByIndex, reopenClosedTab, activeTabId, - send, saveOrPrompt, focusUrl, paletteOpen,