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(nextFocus)
|
||||||
{
|
{
|
||||||
setFocus(
|
const itemCount = list.length;
|
||||||
list.length === 0
|
|
||||||
? 0
|
if (itemCount === 0)
|
||||||
: Math.min(list.length - 1, Math.max(0, nextFocus))
|
{
|
||||||
);
|
// 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