From 025fdba56568080f2990a6e3adc262b2e9b508ae Mon Sep 17 00:00:00 2001 From: RXWatcher <14085001+RXWatcher@users.noreply.github.com> Date: Mon, 25 May 2026 01:21:40 +0200 Subject: [PATCH] feat(player): SpeedMenu primitive replaces audiobook select Introduces a shared SpeedMenu component (button trigger + popover with arrow-key navigation and escape-to-close) used by the audiobook player. Replaces the previous native - {PLAYBACK_RATES.map((r) => ( - - ))} - + onChange={(r) => { + setRate(r); + if (audioRef.current) audioRef.current.playbackRate = r; + }} + /> {onClose && ( + + {open && ( +
+ {rates.map((r, idx) => ( + + ))} +
+ )} + + ); +}