mirror of
https://github.com/remvze/moodist.git
synced 2025-12-18 17:34:17 +00:00
Fix keyboard focus on Sound cards
This commit is contained in:
parent
4f4ffe3e3a
commit
8669489747
1 changed files with 19 additions and 5 deletions
|
|
@ -65,20 +65,34 @@ export function Sound({
|
||||||
}, [unselect, setVolume, id]);
|
}, [unselect, setVolume, id]);
|
||||||
|
|
||||||
const toggle = useCallback(() => {
|
const toggle = useCallback(() => {
|
||||||
if (isSelected) return _unselect();
|
if (isSelected) _unselect();
|
||||||
|
else _select();
|
||||||
|
}, [isSelected, _select, _unselect]);
|
||||||
|
|
||||||
_select();
|
const handleClick = useCallback(() => {
|
||||||
}, [isSelected, _unselect, _select]);
|
toggle();
|
||||||
|
}, [toggle]);
|
||||||
|
|
||||||
|
const handleKeyDown = useCallback(
|
||||||
|
(event: React.KeyboardEvent<HTMLDivElement>) => {
|
||||||
|
if (event.key === 'Enter') {
|
||||||
|
toggle();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[toggle],
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
className={cn(
|
className={cn(
|
||||||
styles.sound,
|
styles.sound,
|
||||||
isSelected && styles.selected,
|
isSelected && styles.selected,
|
||||||
hidden && styles.hidden,
|
hidden && styles.hidden,
|
||||||
)}
|
)}
|
||||||
onClick={toggle}
|
onClick={handleClick}
|
||||||
onKeyDown={toggle}
|
onKeyDown={handleKeyDown}
|
||||||
>
|
>
|
||||||
<Favorite id={id} />
|
<Favorite id={id} />
|
||||||
<div className={styles.icon}>
|
<div className={styles.icon}>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue