feat(music): now-playing, mini-player, queue and lyrics UI
Persistent mini-player over the profile navigator (route-aware suppression, bottom-bar inset), slide-up now-playing screen with mobile/desktop/TV layouts (blurred-art background, pause shape morphs, dpad seek chain), queue sheet with reorder/remove/jump, synced lyrics view, TV rail now-playing item, sleep timer, and audio playlist playback. Adds download affordances on music surfaces.
This commit is contained in:
@@ -79,4 +79,21 @@ class FocusTheme {
|
||||
color: isFocused ? Colors.white.withValues(alpha: 0.2) : Colors.transparent,
|
||||
);
|
||||
}
|
||||
|
||||
/// Focus background fill derived from the theme's text color, so it stays
|
||||
/// visible on BOTH light and dark surfaces — the white-based
|
||||
/// [focusBackgroundDecoration] disappears on light ones. This is the mono
|
||||
/// convention used by [TrackRow], the navigation rail, and the music player
|
||||
/// surfaces. Prefer this for any new mono-themed surface.
|
||||
static BoxDecoration textFillFocusDecoration(
|
||||
BuildContext context, {
|
||||
required bool isFocused,
|
||||
double borderRadius = defaultBorderRadius,
|
||||
BorderRadius? radii,
|
||||
}) {
|
||||
return BoxDecoration(
|
||||
borderRadius: radii ?? BorderRadius.circular(borderRadius),
|
||||
color: isFocused ? tokens(context).text.withValues(alpha: 0.12) : Colors.transparent,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user