diff --git a/lib/route/albumCard.dart b/lib/route/albumCard.dart index ec17b38..e02e819 100644 --- a/lib/route/albumCard.dart +++ b/lib/route/albumCard.dart @@ -1,9 +1,10 @@ import 'package:cradle/album.dart'; +import 'package:cradle/api/cradle_api.dart'; +import 'package:cradle/api/lastfm_api.dart'; import 'package:flutter/material.dart'; -import 'package:dio/dio.dart'; -import '../albumCard/display_as_card.dart'; -import '../albumCard/display_as_list.dart'; +import 'package:cradle/albumCard/display_as_card.dart'; +import 'package:cradle/albumCard/display_as_list.dart'; class AlbumCard extends StatefulWidget { late DateTime date; @@ -34,19 +35,25 @@ class _AlbumCardState extends State { } void _getAlbumByDate() async { - Dio dio = Dio(); - String website = - 'https://cradle-api.vercel.app/album/${date.year}/${date.month}/${date.day}'; - Response apiCall = await dio.get(website); - Map result = apiCall.data; + // Dio dio = Dio(); + // String website = + // 'https://cradle-api.vercel.app/album/${date.year}/${date.month}/${date.day}'; + // Response apiCall = await dio.get(website); + // Map result = apiCall.data; + + CradleApi api = CradleApi(); + Album result = await api.getAlbumByDate(date); + + LastFmApi lastfmApi = LastFmApi(); + var lastfmCover = await lastfmApi.getCover(result); - List genres = result['genre']; setState(() { - cover = result['image']; - name = result['name']; - artist = result['artist']; - genre = genres[0]; - averageRating = result['average_rating']; + cover = (lastfmCover == null) ? result.cover : lastfmCover; + name = result.name; + artist = result.artist; + genre = result.genre; + averageRating = result.averageRating; + }); } diff --git a/lib/theme_manager.dart b/lib/theme_manager.dart index e49b048..0775567 100644 --- a/lib/theme_manager.dart +++ b/lib/theme_manager.dart @@ -1,4 +1,6 @@ - +import 'package:cradle/album.dart'; +import 'package:cradle/api/cradle_api.dart'; +import 'package:cradle/api/lastfm_api.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -45,14 +47,20 @@ class _DynamicTheme extends State { void _getTodayImage() async { DateTime todayDate = DateTime.now(); - Dio dio = Dio(); - String website = - "https://cradle-api.vercel.app/album/${todayDate.year}/${todayDate.month}/${todayDate.day}"; - - Response apiCall = await dio.get(website); - Map result = apiCall.data; - - widget.image = NetworkImage(result['image']); + // Dio dio = Dio(); + // String website = + // "https://cradle-api.vercel.app/album/${todayDate.year}/${todayDate.month}/${todayDate.day}"; + // + // Response apiCall = await dio.get(website); + // Map result = apiCall.data; + CradleApi api = CradleApi(); + Album result = await api.getAlbumByDate(todayDate); + + LastFmApi lastfmApi = LastFmApi(); + var lastfmCover = await lastfmApi.getCover(result); + + widget.image = + NetworkImage((lastfmApi == null) ? result.cover : lastfmCover); createTheme(widget.image); }