From f0d4d678aa42cbfe135bc73e7759943f88a0f0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Wed, 30 Sep 2026 15:54:27 +0200 Subject: [PATCH] Focus the last menu item on ArrowUp With nothing focused yet, ArrowUp landed on the second to last item. --- src/lib/menuNavigation.ts | 2 +- tests/unit/menuNavigation.test.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/menuNavigation.ts b/src/lib/menuNavigation.ts index 0f6f0dc13..c1f277389 100644 --- a/src/lib/menuNavigation.ts +++ b/src/lib/menuNavigation.ts @@ -8,7 +8,7 @@ export function menuFocusIndex( case "ArrowDown": return wrap(current + 1); case "ArrowUp": - return wrap(current - 1); + return current === -1 ? count - 1 : wrap(current - 1); case "Home": return 0; case "End": diff --git a/tests/unit/menuNavigation.test.ts b/tests/unit/menuNavigation.test.ts index 93ba96d12..106450d2d 100644 --- a/tests/unit/menuNavigation.test.ts +++ b/tests/unit/menuNavigation.test.ts @@ -6,6 +6,7 @@ test.each([ ["ArrowDown", -1, 0], ["ArrowDown", 0, 1], ["ArrowDown", 2, 0], + ["ArrowUp", -1, 2], ["ArrowUp", 0, 2], ["ArrowUp", 2, 1], ["Home", 1, 0],