Skip to content

Commit

Permalink
Fix menu navigation issue that was resetting the navigation on each n…
Browse files Browse the repository at this point in the history
…avigation.

GitOrigin-RevId: 89f790c931d1f237a8b8be305390c5be7781326a
  • Loading branch information
cpojer committed Jan 28, 2025
1 parent c4a32e7 commit 3f704c5
Showing 1 changed file with 20 additions and 11 deletions.
31 changes: 20 additions & 11 deletions ui/controls/useMenuNavigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ export default function useMenuNavigation(
layer: InputLayer = 'menu',
nowrap = false,
initial: 'selected' | number = -1,
): [selected: number, active: number, reset: () => void] {
): [
selected: number,
active: number,
reset: (currentSelected?: number) => void,
] {
const [count, setCount] = useState(initialCount);
const [selected, setSelected] = useState(
initial !== 'selected' && isValid(count, initial) ? initial : -1,
Expand Down Expand Up @@ -62,15 +66,20 @@ export default function useMenuNavigation(
return [
selected,
active,
useCallback(() => {
setSelected(
initial === 'selected'
? selected
: isValid(count, initial)
? initial
: -1,
);
resetActive();
}, [count, initial, resetActive, selected]),
useCallback(
(selected?: number) => {
setSelected(
initial === 'selected'
? selected != null
? selected
: -1
: isValid(count, initial)
? initial
: -1,
);
resetActive();
},
[count, resetActive, initial],
),
];
}

0 comments on commit 3f704c5

Please sign in to comment.