feat: global search and keyboard shortcuts

Ctrl/⌘ K (or /) opens a search over the projects and tickets of all my
projects, driven by the keyboard. g plus a letter moves between project
pages, c creates a ticket on the board, e edits the open ticket and ?
lists every shortcut. My work can now be searched by text through the API.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 18:32:07 +02:00
parent 4148335457
commit d6a434ca1d
24 changed files with 584 additions and 21 deletions

View File

@@ -43,6 +43,7 @@ import {
IssueLink,
IssueLinkType,
IssuePriority,
isTyping,
matches,
mentionQuery,
mentionSegments,
@@ -1121,6 +1122,23 @@ export class IssuePage {
}
/** A screenshot pasted anywhere on the ticket is attached to it. */
/** `e`: edit the ticket (not while typing, nor with a drawer open). */
@HostListener('document:keydown', ['$event'])
protected onKey(event: KeyboardEvent): void {
if (
event.key !== 'e' ||
event.ctrlKey ||
event.metaKey ||
event.altKey ||
isTyping(event.target) ||
!this.project.canContribute() ||
document.querySelector('[role="dialog"]')
)
return;
event.preventDefault();
this.openEdit();
}
@HostListener('document:paste', ['$event'])
protected pasted(event: ClipboardEvent): void {
const target = event.target as HTMLElement | null;