Cmd jump to request

This commit is contained in:
Gregory Schier
2024-06-09 07:03:16 -07:00
parent 7b2cb64b14
commit dd483dbdd8
7 changed files with 44 additions and 11 deletions

View File

@@ -5,8 +5,7 @@ on:
jobs:
build-artifacts:
permissions:
contents: write
permissions: write-all
name: Build
strategy:
fail-fast: false

View File

@@ -111,7 +111,7 @@ export function GrpcConnectionLayout({ style }: Props) {
) : messages.length >= 0 ? (
<GrpcConnectionMessagesPane activeRequest={activeRequest} methodType={methodType} />
) : (
<HotKeyList hotkeys={['grpc_request.send', 'sidebar.toggle', 'urlBar.focus']} />
<HotKeyList hotkeys={['grpc_request.send', 'sidebar.focus', 'urlBar.focus']} />
)}
</div>
)

View File

@@ -83,7 +83,7 @@ export const ResponsePane = memo(function ResponsePane({ style, className, activ
>
{activeResponse == null ? (
<HotKeyList
hotkeys={['http_request.send', 'http_request.create', 'sidebar.toggle', 'urlBar.focus']}
hotkeys={['http_request.send', 'http_request.create', 'sidebar.focus', 'urlBar.focus']}
/>
) : isResponseLoading(activeResponse) ? (
<div className="h-full w-full flex items-center justify-center">

View File

@@ -159,6 +159,20 @@ export function Sidebar({ className }: Props) {
return { tree, treeParentMap, selectableRequests, selectedRequest };
}, [activeWorkspace, selectedId, requests, folders, collapsed.value]);
const jumpToRequest = async (index: number) => {
const r = selectableRequests[index];
if (r != null) await handleSelect(r.id);
};
useHotKey('sidebar.jump_1', () => jumpToRequest(0));
useHotKey('sidebar.jump_2', () => jumpToRequest(1));
useHotKey('sidebar.jump_3', () => jumpToRequest(2));
useHotKey('sidebar.jump_4', () => jumpToRequest(3));
useHotKey('sidebar.jump_5', () => jumpToRequest(4));
useHotKey('sidebar.jump_6', () => jumpToRequest(5));
useHotKey('sidebar.jump_7', () => jumpToRequest(6));
useHotKey('sidebar.jump_8', () => jumpToRequest(7));
const focusActiveRequest = useCallback(
(
args: {

View File

@@ -31,7 +31,6 @@ export function SidebarActions() {
className="pointer-events-auto"
size="sm"
title="Show sidebar"
hotkeyAction="sidebar.toggle"
icon={hidden ? 'leftPanelHidden' : 'leftPanelVisible'}
/>
<CreateDropdown hotKeyAction="http_request.create">

View File

@@ -186,7 +186,7 @@ export default function Workspace() {
</div>
) : activeRequest == null ? (
<HotKeyList
hotkeys={['http_request.create', 'sidebar.toggle', 'settings.show']}
hotkeys={['http_request.create', 'sidebar.focus', 'settings.show']}
bottomSlot={
<HStack space={1} justifyContent="center" className="mt-3">
<Button variant="border" size="sm" onClick={() => importData.mutate()}>

View File

@@ -18,7 +18,14 @@ export type HotkeyAction =
| 'request_switcher.toggle'
| 'settings.show'
| 'sidebar.focus'
| 'sidebar.toggle'
| 'sidebar.jump_1'
| 'sidebar.jump_2'
| 'sidebar.jump_3'
| 'sidebar.jump_4'
| 'sidebar.jump_5'
| 'sidebar.jump_6'
| 'sidebar.jump_7'
| 'sidebar.jump_8'
| 'urlBar.focus'
| 'command_palette.toggle'
| 'app.zoom_in'
@@ -36,8 +43,15 @@ const hotkeys: Record<HotkeyAction, string[]> = {
'request_switcher.prev': ['Control+Tab'],
'request_switcher.toggle': ['CmdCtrl+p'],
'settings.show': ['CmdCtrl+,'],
'sidebar.focus': ['CmdCtrl+1'],
'sidebar.toggle': ['CmdCtrl+b'],
'sidebar.focus': ['CmdCtrl+b'],
'sidebar.jump_1': ['CmdCtrl+1'],
'sidebar.jump_2': ['CmdCtrl+2'],
'sidebar.jump_3': ['CmdCtrl+3'],
'sidebar.jump_4': ['CmdCtrl+4'],
'sidebar.jump_5': ['CmdCtrl+5'],
'sidebar.jump_6': ['CmdCtrl+6'],
'sidebar.jump_7': ['CmdCtrl+7'],
'sidebar.jump_8': ['CmdCtrl+8'],
'urlBar.focus': ['CmdCtrl+l'],
'command_palette.toggle': ['CmdCtrl+k'],
'app.zoom_in': ['CmdCtrl+='],
@@ -56,8 +70,15 @@ const hotkeyLabels: Record<HotkeyAction, string> = {
'request_switcher.prev': 'Go To Next Request',
'request_switcher.toggle': 'Toggle Request Switcher',
'settings.show': 'Open Settings',
'sidebar.focus': 'Focus Sidebar',
'sidebar.toggle': 'Toggle Sidebar',
'sidebar.focus': 'Focus or Toggle Sidebar',
'sidebar.jump_1': 'Jump to request 1',
'sidebar.jump_2': 'Jump to request 2',
'sidebar.jump_3': 'Jump to request 3',
'sidebar.jump_4': 'Jump to request 4',
'sidebar.jump_5': 'Jump to request 5',
'sidebar.jump_6': 'Jump to request 6',
'sidebar.jump_7': 'Jump to request 7',
'sidebar.jump_8': 'Jump to request 8',
'urlBar.focus': 'Focus URL',
'command_palette.toggle': 'Toggle Command Palette',
'app.zoom_in': 'Zoom In',