fix(playerbar): add Mute / Unmute tooltip on the speaker icon (#752)

The speaker button in the player bar toggled volume to 0 (or back to
the pre-mute level) but exposed no `data-tooltip`, so hovering it
showed nothing — users couldn't tell what the icon did. Add a tooltip
that switches between "Mute" and "Unmute" with the current state, and
mirror the same string on `aria-label` for screen readers. New
`player.mute` / `player.unmute` keys land across all 9 locales.
This commit is contained in:
Frank Stellmacher
2026-05-17 14:26:19 +02:00
committed by GitHub
parent 04149c048e
commit 48c7b8b780
10 changed files with 20 additions and 1 deletions
+2 -1
View File
@@ -40,7 +40,8 @@ export function PlayerVolume({
setVolume(0); setVolume(0);
} }
}} }}
aria-label={t('player.volume')} aria-label={volume === 0 ? t('player.unmute') : t('player.mute')}
data-tooltip={volume === 0 ? t('player.unmute') : t('player.mute')}
style={{ color: 'var(--text-muted)', flexShrink: 0 }} style={{ color: 'var(--text-muted)', flexShrink: 0 }}
> >
{volume === 0 ? <VolumeX size={16} /> : <Volume2 size={16} />} {volume === 0 ? <VolumeX size={16} /> : <Volume2 size={16} />}
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Einen', repeatOne: 'Einen',
progress: 'Songfortschritt', progress: 'Songfortschritt',
volume: 'Lautstärke', volume: 'Lautstärke',
mute: 'Stummschalten',
unmute: 'Stumm aufheben',
toggleQueue: 'Warteschlange umschalten', toggleQueue: 'Warteschlange umschalten',
collapseQueueResize: 'Warteschlange einklappen, Breite ändern', collapseQueueResize: 'Warteschlange einklappen, Breite ändern',
moreOptions: 'Weitere Optionen', moreOptions: 'Weitere Optionen',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'One', repeatOne: 'One',
progress: 'Song Progress', progress: 'Song Progress',
volume: 'Volume', volume: 'Volume',
mute: 'Mute',
unmute: 'Unmute',
toggleQueue: 'Toggle Queue', toggleQueue: 'Toggle Queue',
collapseQueueResize: 'Collapse queue, resize', collapseQueueResize: 'Collapse queue, resize',
moreOptions: 'More options', moreOptions: 'More options',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Una', repeatOne: 'Una',
progress: 'Progreso de Canción', progress: 'Progreso de Canción',
volume: 'Volumen', volume: 'Volumen',
mute: 'Silenciar',
unmute: 'Quitar silencio',
toggleQueue: 'Alternar Cola', toggleQueue: 'Alternar Cola',
collapseQueueResize: 'Contraer cola, cambiar ancho', collapseQueueResize: 'Contraer cola, cambiar ancho',
moreOptions: 'Más opciones', moreOptions: 'Más opciones',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Un', repeatOne: 'Un',
progress: 'Progression', progress: 'Progression',
volume: 'Volume', volume: 'Volume',
mute: 'Couper le son',
unmute: 'Activer le son',
toggleQueue: 'Afficher/masquer la file', toggleQueue: 'Afficher/masquer la file',
collapseQueueResize: 'Réduire la file, redimensionner', collapseQueueResize: 'Réduire la file, redimensionner',
moreOptions: 'Plus doptions', moreOptions: 'Plus doptions',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Én', repeatOne: 'Én',
progress: 'Sangfremdrift', progress: 'Sangfremdrift',
volume: 'Volum', volume: 'Volum',
mute: 'Demp',
unmute: 'Slå på lyden',
toggleQueue: 'Veksle kø', toggleQueue: 'Veksle kø',
collapseQueueResize: 'Skjul kø, endre bredde', collapseQueueResize: 'Skjul kø, endre bredde',
moreOptions: 'Flere alternativer', moreOptions: 'Flere alternativer',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Één', repeatOne: 'Één',
progress: 'Nummervoortgang', progress: 'Nummervoortgang',
volume: 'Volume', volume: 'Volume',
mute: 'Dempen',
unmute: 'Dempen opheffen',
toggleQueue: 'Wachtrij in-/uitschakelen', toggleQueue: 'Wachtrij in-/uitschakelen',
collapseQueueResize: 'Wachtrij inklappen, breedte wijzigen', collapseQueueResize: 'Wachtrij inklappen, breedte wijzigen',
moreOptions: 'Meer opties', moreOptions: 'Meer opties',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Unul', repeatOne: 'Unul',
progress: 'Progresul Piesei', progress: 'Progresul Piesei',
volume: 'Volum', volume: 'Volum',
mute: 'Oprește sunetul',
unmute: 'Pornește sunetul',
toggleQueue: 'Comutați Coada', toggleQueue: 'Comutați Coada',
collapseQueueResize: 'Strânge coada, redimensionează', collapseQueueResize: 'Strânge coada, redimensionează',
moreOptions: 'Mai multe opțiuni', moreOptions: 'Mai multe opțiuni',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: 'Один', repeatOne: 'Один',
progress: 'Прогресс', progress: 'Прогресс',
volume: 'Громкость', volume: 'Громкость',
mute: 'Отключить звук',
unmute: 'Включить звук',
toggleQueue: 'Очередь', toggleQueue: 'Очередь',
collapseQueueResize: 'Свернуть очередь, изменить ширину', collapseQueueResize: 'Свернуть очередь, изменить ширину',
moreOptions: 'Дополнительно', moreOptions: 'Дополнительно',
+2
View File
@@ -39,6 +39,8 @@ export const player = {
repeatOne: '单曲', repeatOne: '单曲',
progress: '播放进度', progress: '播放进度',
volume: '音量', volume: '音量',
mute: '静音',
unmute: '取消静音',
toggleQueue: '切换队列', toggleQueue: '切换队列',
collapseQueueResize: '收起队列,调整宽度', collapseQueueResize: '收起队列,调整宽度',
moreOptions: '更多选项', moreOptions: '更多选项',