fix playing song

PHOTO_PICKER_LDE
Lucas Delanier 2 years ago
parent 593f38062e
commit a03decc7d9

@ -77,11 +77,13 @@ class MusicListComponent extends StatelessWidget {
intervalSpaces: 10,
),
)),
Icon(
music.explicit
? Icon(
Icons.explicit,
color: Colors.grey.withOpacity(0.7),
size: 17,
),
)
: Container(),
],
),
ScrollConfiguration(

@ -8,7 +8,7 @@ class Music {
String? _title;
String? _cover;
String? _previewUrl;
DateTime? _date;
int? _date;
double? _duration;
bool _explicit = false;
List<Artist> _artists;
@ -38,9 +38,9 @@ class Music {
_previewUrl = value;
}
DateTime? get date => _date;
int? get date => _date;
set date(DateTime? value) {
set date(int? value) {
_date = value;
}

@ -7,6 +7,7 @@ import 'package:google_fonts/google_fonts.dart';
import '../components/comment_component.dart';
import '../components/post_component.dart';
import '../components/top_nav_bar_component.dart';
import '../main.dart';
import '../values/constants.dart';
class FeedScreen extends StatefulWidget {
@ -88,7 +89,7 @@ class _FeedScreenState extends State<FeedScreen>
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
builder: ((context) {
builder: ((BuildContext context) {
return GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
@ -235,6 +236,10 @@ class _FeedScreenState extends State<FeedScreen>
);
}
void _onModalClosed() {
print("modal closed");
}
@override
Widget build(BuildContext context) {
return Scaffold(

@ -32,7 +32,7 @@ class MusicViewModel {
responseData['name'],
responseData['album']['images'][0]['url'],
responseData['preview_url'],
DateTime.parse(responseData['album']['release_date']),
int.parse(responseData['album']['release_date'].split('-')[0]),
responseData['duration_ms'] / 1000,
responseData['explicit'],
artists);
@ -50,14 +50,12 @@ class MusicViewModel {
return Artist(artist['id'], artist['name'], '');
}));
DateTime releaseDate = DateTime.parse(track['album']['release_date']);
musics.add(Music(
track['id'],
track['name'],
track['album']['images'][0]['url'],
track['preview_url'],
releaseDate,
int.parse(track['album']['release_date'].split('-')[0]),
track['duration_ms'] / 1000,
track['explicit'],
artists));
@ -198,22 +196,27 @@ class MusicViewModel {
List<dynamic> tracks = responseData['tracks']['items'];
for (var track in tracks) {
List<Artist> artists = List<Artist>.from(track['track']['artists'].map((artist) {
List<Artist> artists =
List<Artist>.from(track['track']['artists'].map((artist) {
return Artist(artist['id'], artist['name'], '');
}));
DateTime releaseDate = DateTime.parse(track['track']['album']['release_date']);
DateTime releaseDate =
DateTime.parse(track['track']['album']['release_date']);
musics.add(Music(
track['track']['id'],
track['track']['name'],
track['track']['album']['images'][0]['url'],
track['track']['preview_url'],
releaseDate,
int.parse(responseData['album']['release_date'].split('-')[0]),
track['track']['duration_ms'] / 1000,
track['track']['explicit'],
artists));
}
/*
List<Music> musics = _getMusicsFromResponse(responseData['tracks']['items']);
}*/
return musics;
} else {
@ -225,7 +228,7 @@ class MusicViewModel {
Future<List<Music>> getMusicsWithIds(List<String> ids,
{String market = "FR"}) async {
var accessToken = await _token.getAccessToken();
String url = API_URL+'/tracks?market=$market&ids=';
String url = API_URL + '/tracks?market=$market&ids=';
if (ids.length == 0) return [];
@ -233,8 +236,7 @@ class MusicViewModel {
print(url);
var response = await http
.get(Uri.parse(url), headers: {
var response = await http.get(Uri.parse(url), headers: {
'Authorization': 'Bearer $accessToken',
});
@ -246,5 +248,4 @@ class MusicViewModel {
'Error while retrieving music : ${response.statusCode} ${response.reasonPhrase}');
}
}
}

Loading…
Cancel
Save