feat: add many keyboard shortcuts

This commit is contained in:
Zoe
2026-02-26 08:41:22 -06:00
parent d22d08e99f
commit e6bb005f11
5 changed files with 61 additions and 8 deletions
+47
View File
@@ -13,6 +13,7 @@ const { sendMessage, regenerateMessage } = useChat(route.params.id as string);
const { getAgent } = useAgents();
const { open: sidebarOpen, openSidebar } = useSidebar();
const { providers, allModels } = useModels();
const { addShortcut } = useKeyboardShortcuts();
const agent = getAgent(route.params.id as string);
@@ -257,6 +258,52 @@ const activeGeneration = computed(() => {
const { scrollToBottom } = useAutoScroll(chatPaneWrapper);
addShortcut(['ctrl', 'alt', 'n'], () => {
return navigateTo(`/agent/${route.params.id}`);
});
addShortcut(['ctrl', 'shift', 'enter'], () => {
const lastMessage = topic.value?.messages?.at(-1);
if (lastMessage) {
handleRegenerate(lastMessage);
}
});
addShortcut(['ctrl', 'shift', 'backspace'], () => {
const lastMessage = topic.value?.messages?.at(-1);
if (lastMessage) {
handleDelete(lastMessage);
}
});
addShortcut(['ctrl', 'c'], () => {
if (activeGeneration.value === null) return;
handleCancel();
})
addShortcut(['alt', '['], async () => {
console.log("left");
const lastMessage = topic.value?.messages?.at(-1);
if (lastMessage && lastMessage.children.length > 0) {
await triplit.update('messages', lastMessage.id, {
focusedIndex: Math.max(0, lastMessage.focusedIndex! - 1)
});
}
})
addShortcut(['alt', ']'], async () => {
console.log("right");
const lastMessage = topic.value?.messages?.at(-1);
if (lastMessage && lastMessage.children.length > 0) {
await triplit.update('messages', lastMessage.id, {
focusedIndex: Math.min(lastMessage.children.length, lastMessage.focusedIndex! + 1)
});
}
})
onMounted(() => {
scrollToBottom('instant');
});