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

@@ -11,7 +11,10 @@ import { filter, map } from 'rxjs';
import { AuthFacade } from '@task-stream/web/identity/application';
import { UserMenuComponent } from '@task-stream/web/identity/presenters';
import { AppShellComponent } from '@task-stream/web/shared/ui';
import { NotificationsBell } from '@task-stream/web/tracker/presenters';
import {
CommandPalette,
NotificationsBell,
} from '@task-stream/web/tracker/presenters';
@Component({
selector: 'ts-root',
@@ -23,6 +26,7 @@ import { NotificationsBell } from '@task-stream/web/tracker/presenters';
AppShellComponent,
UserMenuComponent,
NotificationsBell,
CommandPalette,
],
template: `
<ts-app-shell>
@@ -48,6 +52,7 @@ import { NotificationsBell } from '@task-stream/web/tracker/presenters';
@if (auth.isAuthenticated()) {
<!-- One projectable node per @if branch, or neither reaches the slot. -->
<ng-container shellUser>
<ts-command-palette />
<ts-notifications-bell />
<ts-user-menu />
</ng-container>