Add Cards search: wrap arrow-key selection around the result list
Closes #29 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -629,12 +629,13 @@ export const CardSearchBox = forwardRef<
|
||||
}
|
||||
|
||||
function onKeyDown(e: React.KeyboardEvent) {
|
||||
if (e.key === "ArrowDown") {
|
||||
// ↑/↓ wrap around the ends of the list.
|
||||
if (e.key === "ArrowDown" && results.length > 0) {
|
||||
e.preventDefault();
|
||||
setSel((s) => Math.min(s + 1, results.length - 1));
|
||||
} else if (e.key === "ArrowUp") {
|
||||
setSel((s) => (s + 1) % results.length);
|
||||
} else if (e.key === "ArrowUp" && results.length > 0) {
|
||||
e.preventDefault();
|
||||
setSel((s) => Math.max(s - 1, 0));
|
||||
setSel((s) => (s - 1 + results.length) % results.length);
|
||||
} else if (e.key === "Enter" && results[sel]) {
|
||||
e.preventDefault();
|
||||
pick(results[sel]);
|
||||
|
||||
Reference in New Issue
Block a user