app: Fait boucler le focus au lieu de clamp
This commit is contained in:
parent
2b145543f3
commit
5ad7ee0b55
|
@ -70,11 +70,21 @@ export const useFocusableList = () =>
|
|||
*/
|
||||
setFocus(nextFocus)
|
||||
{
|
||||
setFocus(
|
||||
list.length === 0
|
||||
? 0
|
||||
: Math.min(list.length - 1, Math.max(0, nextFocus))
|
||||
);
|
||||
const itemCount = list.length;
|
||||
|
||||
if (itemCount === 0)
|
||||
{
|
||||
// Sur la liste vide, on ne peut pas changer le focus
|
||||
return;
|
||||
}
|
||||
|
||||
// Ramène une valeur négative dans les positifs
|
||||
while (nextFocus < 0) { nextFocus += itemCount; }
|
||||
|
||||
// Ramène une valeur trop grande à l’intérieur de la liste
|
||||
nextFocus = nextFocus % itemCount;
|
||||
|
||||
setFocus(nextFocus);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue