mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
Player download & like button alignment fix
This commit is contained in:
parent
5b855e1e55
commit
2c5e848fbc
@ -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);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user