Player download & like button alignment fix

This commit is contained in:
Kingkor Roy Tirtho 2022-01-24 19:19:53 +06:00
parent 5b855e1e55
commit 2c5e848fbc
2 changed files with 47 additions and 32 deletions

View File

@ -245,6 +245,7 @@ class _PlayerState extends State<Player> with WidgetsBindingObserver {
),
artistsToClickableArtists(
playback.currentTrack?.artists ?? [],
mainAxisAlignment: MainAxisAlignment.center,
)
],
),
@ -339,15 +340,38 @@ class _PlayerState extends State<Player> with WidgetsBindingObserver {
},
),
),
DownloadTrackButton(
track: playback.currentTrack,
),
// add to saved tracks
Expanded(
flex: 1,
child: Wrap(
crossAxisAlignment: WrapCrossAlignment.center,
alignment: WrapAlignment.center,
runAlignment: WrapAlignment.center,
children: [
Container(
height: 20,
constraints: const BoxConstraints(maxWidth: 200),
child: Slider.adaptive(
value: _volume,
onChanged: (value) async {
try {
await player.setVolume(value).then((_) {
setState(() {
_volume = value;
});
});
} catch (e, stack) {
print("[VolumeSlider.onChange()] $e");
print(stack);
}
},
),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
DownloadTrackButton(
track: playback.currentTrack,
),
Consumer<SpotifyDI>(builder: (context, data, widget) {
return FutureBuilder<bool>(
future: playback.currentTrack?.id != null
@ -368,29 +392,14 @@ class _PlayerState extends State<Player> with WidgetsBindingObserver {
if (!isLiked &&
playback.currentTrack?.id != null) {
data.spotifyApi.tracks.me
.saveOne(playback.currentTrack!.id!)
.saveOne(
playback.currentTrack!.id!)
.then((value) => setState(() {}));
}
});
});
}),
ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 200),
child: Slider.adaptive(
value: _volume,
onChanged: (value) async {
try {
await player.setVolume(value).then((_) {
setState(() {
_volume = value;
});
});
} catch (e, stack) {
print("[VolumeSlider.onChange()] $e");
print(stack);
}
},
),
],
),
],
),

View File

@ -3,8 +3,14 @@ import 'package:spotify/spotify.dart';
import 'package:spotube/components/Artist/ArtistProfile.dart';
import 'package:spotube/components/Shared/LinkText.dart';
Widget artistsToClickableArtists(List<ArtistSimple> artists) {
Widget artistsToClickableArtists(
List<ArtistSimple> artists, {
CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
}) {
return Row(
crossAxisAlignment: crossAxisAlignment,
mainAxisAlignment: mainAxisAlignment,
children: artists
.asMap()
.entries