diff --git a/apps/web/src/widgets/PlayerBar.module.css b/apps/web/src/widgets/PlayerBar.module.css index 62a15bb..15d183a 100644 --- a/apps/web/src/widgets/PlayerBar.module.css +++ b/apps/web/src/widgets/PlayerBar.module.css @@ -259,7 +259,28 @@ a.source:hover { } .play[aria-busy='true'] { - opacity: 0.7; + opacity: 0.85; +} + +.playSpinner { + width: 22px; + height: 22px; + border: 3px solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: playSpin 0.7s linear infinite; +} + +@keyframes playSpin { + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: reduce) { + .playSpinner { + animation-duration: 2s; + } } .progress { diff --git a/apps/web/src/widgets/PlayerBar.tsx b/apps/web/src/widgets/PlayerBar.tsx index 35f31ae..595e83f 100644 --- a/apps/web/src/widgets/PlayerBar.tsx +++ b/apps/web/src/widgets/PlayerBar.tsx @@ -143,7 +143,7 @@ export function PlayerBar({ variant = 'bar' }: { variant?: 'bar' | 'island' }) { aria-busy={st.loading || undefined} disabled={locked} onClick={() => player.toggle()} > - + {st.loading ? : } -