From 4c72dfea0b13157cc0ad04c14c4fb514b52fc346 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 20 Jul 2026 11:18:28 -0400 Subject: [PATCH] keyboard: board card navigation (j/k/arrows + actions) Focused-card selection on the board: j/k or arrows move it, Enter opens, e archives, # pins, x trashes the focused card (actions gated off the Trash view). The selection is a brand ring on the card; it scrolls into view and clamps as the list/view changes. A window keydown listener on BoardView, ignored while typing, on a button/link, or while the editor modal is open. Added the card keys to the ? cheat-sheet. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01FRgehjoz7Yv8LkUfADxACm --- frontend/src/components/AppShell.vue | 3 ++ frontend/src/components/NoteCard.vue | 15 +++++- frontend/src/views/BoardView.vue | 74 ++++++++++++++++++++++++++-- 3 files changed, 85 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/AppShell.vue b/frontend/src/components/AppShell.vue index 21eb92b..88b319f 100644 --- a/frontend/src/components/AppShell.vue +++ b/frontend/src/components/AppShell.vue @@ -30,6 +30,9 @@ const shortcuts = [ { label: "Go to Board", keys: ["g", "b"] }, { label: "Go to Graph", keys: ["g", "g"] }, { label: "Go to Reminders", keys: ["g", "r"] }, + { label: "Move card focus", keys: ["j", "k"] }, + { label: "Open focused card", keys: ["Enter"] }, + { label: "Pin / archive / trash card", keys: ["#", "e", "x"] }, { label: "Save & close (editor)", keys: ["⌘/Ctrl", "Enter"] }, { label: "Save & new (composer)", keys: ["Shift", "Enter"] }, { label: "Dismiss / close", keys: ["Esc"] }, diff --git a/frontend/src/components/NoteCard.vue b/frontend/src/components/NoteCard.vue index 6d073d2..301df8d 100644 --- a/frontend/src/components/NoteCard.vue +++ b/frontend/src/components/NoteCard.vue @@ -1,4 +1,5 @@