feat(player): sleep timer and delayed start via long-press on play/pause (#270)

Add scheduled pause and resume timers in the player store, cleared on stop
and track changes. Long-press opens a compact preset modal anchored above
the transport row; one-tap presets plus custom minutes. Portaled countdown
badge on the play button; clear the long-press click guard when the modal
closes so the first play/pause click works after scheduling.
This commit is contained in:
cucadmuh
2026-04-23 00:32:44 +03:00
committed by GitHub
parent c5dfabf739
commit 624ce56faf
17 changed files with 942 additions and 20 deletions
+18
View File
@@ -1114,6 +1114,24 @@ export const frTranslation = {
prev: 'Piste précédente',
play: 'Lecture',
pause: 'Pause',
delayModalTitle: 'Minuteur',
delayPauseSection: 'Pause après',
delayStartSection: 'Démarrage après',
delaySchedulePause: 'Programmer la pause',
delayScheduleStart: 'Programmer le démarrage',
delayCancelPause: 'Annuler le minuteur de pause',
delayCancelStart: 'Annuler le minuteur de démarrage',
delayInactivePause: 'Disponible uniquement pendant la lecture.',
delayInactiveStart: 'Disponible en pause avec une piste ou une radio chargée.',
delayCustomMinutes: 'Délai personnalisé (minutes)',
delayCustomPlaceholder: 'ex. 2,5',
closeDelayModal: 'Fermer',
delayIn: 'dans',
delayFmtSec: '{{n}} s',
delayFmtMin: '{{n}} min',
delayFmtHr: '{{n}} h',
delayCancel: 'Annuler',
delayApply: 'Appliquer',
next: 'Piste suivante',
repeat: 'Répéter',
repeatOff: 'Désactivé',