From bf43982bb8fc5695f9a655dd64caae981d1a702a Mon Sep 17 00:00:00 2001 From: devaryakjha Date: Mon, 23 Oct 2023 21:57:40 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix:=20favorite=20not=20working?= =?UTF-8?q?=20when=20empty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/features/user-library/data/user_library.dart | 8 +++----- .../user-library/data/user_library_repository.dart | 8 ++++---- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/features/user-library/data/user_library.dart b/lib/features/user-library/data/user_library.dart index 70437f2..570c1cd 100644 --- a/lib/features/user-library/data/user_library.dart +++ b/lib/features/user-library/data/user_library.dart @@ -113,7 +113,9 @@ final class Favorite extends UserLibrary { static const String boxKey = "favorite"; - const Favorite.empty() : super.empty(UserLibraryType.favorite); + factory Favorite.empty() { + return const Favorite(mediaItems: []); + } } @HiveType(typeId: 20) @@ -125,8 +127,6 @@ final class AlbumLibrary extends UserLibrary { required super.mediaItems, required super.images, }) : super(type: UserLibraryType.album); - - const AlbumLibrary.empty() : super.empty(UserLibraryType.album); } @HiveType(typeId: 21) @@ -138,6 +138,4 @@ final class PlaylistLibrary extends UserLibrary { required super.mediaItems, required super.images, }) : super(type: UserLibraryType.playlist); - - const PlaylistLibrary.empty() : super.empty(UserLibraryType.playlist); } diff --git a/lib/features/user-library/data/user_library_repository.dart b/lib/features/user-library/data/user_library_repository.dart index bff99d0..7b0ab26 100644 --- a/lib/features/user-library/data/user_library_repository.dart +++ b/lib/features/user-library/data/user_library_repository.dart @@ -36,8 +36,8 @@ class UserLibraryRepository { Future favoriteSong(Song song) async { final favourites = _box.get( Favorite.boxKey, - defaultValue: const Favorite.empty(), - ) as UserLibrary; + defaultValue: Favorite.empty(), + )!; final newFavourites = favourites.copyWith( mediaItems: [...favourites.mediaItems, song], ); @@ -47,8 +47,8 @@ class UserLibraryRepository { Future unfavoriteSong(Song song) async { final favourites = _box.get( Favorite.boxKey, - defaultValue: const Favorite.empty(), - ) as UserLibrary; + defaultValue: Favorite.empty(), + )!; final newFavourites = favourites.copyWith( mediaItems: favourites.mediaItems.where((e) => e.id != song.id).toList(), );