Add rename/delete/send to cmd+k

This commit is contained in:
Gregory Schier
2024-07-30 15:10:24 -07:00
parent a75b1a3472
commit 86856e3506
6 changed files with 103 additions and 45 deletions

View File

@@ -22,6 +22,7 @@ import { useLatestGrpcConnection } from '../hooks/useLatestGrpcConnection';
import { useLatestHttpResponse } from '../hooks/useLatestHttpResponse';
import { useMoveToWorkspace } from '../hooks/useMoveToWorkspace';
import { usePrompt } from '../hooks/usePrompt';
import { useRenameRequest } from '../hooks/useRenameRequest';
import { useRequests } from '../hooks/useRequests';
import { useSendAnyHttpRequest } from '../hooks/useSendAnyHttpRequest';
import { useSendManyRequests } from '../hooks/useSendFolder';
@@ -649,6 +650,7 @@ function SidebarItem({
const activeRequest = useActiveRequest();
const deleteFolder = useDeleteFolder(itemId);
const deleteRequest = useDeleteRequest(itemId);
const renameRequest = useRenameRequest(itemId);
const duplicateHttpRequest = useDuplicateHttpRequest({ id: itemId, navigateAfter: true });
const duplicateGrpcRequest = useDuplicateGrpcRequest({ id: itemId, navigateAfter: true });
const copyAsCurl = useCopyAsCurl(itemId);
@@ -795,29 +797,7 @@ function SidebarItem({
key: 'renameRequest',
label: 'Rename',
leftSlot: <Icon icon="pencil" />,
onSelect: async () => {
const name = await prompt({
id: 'rename-request',
title: 'Rename Request',
description:
itemName === '' ? (
'Enter a new name'
) : (
<>
Enter a new name for <InlineCode>{itemName}</InlineCode>
</>
),
name: 'name',
label: 'Name',
placeholder: 'New Name',
defaultValue: itemName,
});
if (itemModel === 'http_request') {
updateHttpRequest.mutate({ id: itemId, update: (r) => ({ ...r, name }) });
} else {
updateGrpcRequest.mutate({ id: itemId, update: (r) => ({ ...r, name }) });
}
},
onSelect: renameRequest.mutate,
},
{
key: 'duplicateRequest',
@@ -849,7 +829,7 @@ function SidebarItem({
}
}, [
child.children,
copyAsCurl,
copyAsCurl.mutate,
createDropdownItems,
deleteFolder,
deleteRequest,
@@ -860,11 +840,10 @@ function SidebarItem({
itemName,
moveToWorkspace.mutate,
prompt,
renameRequest.mutate,
sendManyRequests,
sendRequest,
updateAnyFolder,
updateGrpcRequest,
updateHttpRequest,
workspaces.length,
]);