Skip to content

Commit bf43982

Browse files
committed
🐛 Fix: favorite not working when empty
1 parent dc13439 commit bf43982

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

lib/features/user-library/data/user_library.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,9 @@ final class Favorite extends UserLibrary {
113113

114114
static const String boxKey = "favorite";
115115

116-
const Favorite.empty() : super.empty(UserLibraryType.favorite);
116+
factory Favorite.empty() {
117+
return const Favorite(mediaItems: []);
118+
}
117119
}
118120

119121
@HiveType(typeId: 20)
@@ -125,8 +127,6 @@ final class AlbumLibrary extends UserLibrary {
125127
required super.mediaItems,
126128
required super.images,
127129
}) : super(type: UserLibraryType.album);
128-
129-
const AlbumLibrary.empty() : super.empty(UserLibraryType.album);
130130
}
131131

132132
@HiveType(typeId: 21)
@@ -138,6 +138,4 @@ final class PlaylistLibrary extends UserLibrary {
138138
required super.mediaItems,
139139
required super.images,
140140
}) : super(type: UserLibraryType.playlist);
141-
142-
const PlaylistLibrary.empty() : super.empty(UserLibraryType.playlist);
143141
}

lib/features/user-library/data/user_library_repository.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class UserLibraryRepository {
3636
Future<void> favoriteSong(Song song) async {
3737
final favourites = _box.get(
3838
Favorite.boxKey,
39-
defaultValue: const Favorite.empty(),
40-
) as UserLibrary;
39+
defaultValue: Favorite.empty(),
40+
)!;
4141
final newFavourites = favourites.copyWith(
4242
mediaItems: [...favourites.mediaItems, song],
4343
);
@@ -47,8 +47,8 @@ class UserLibraryRepository {
4747
Future<void> unfavoriteSong(Song song) async {
4848
final favourites = _box.get(
4949
Favorite.boxKey,
50-
defaultValue: const Favorite.empty(),
51-
) as UserLibrary;
50+
defaultValue: Favorite.empty(),
51+
)!;
5252
final newFavourites = favourites.copyWith(
5353
mediaItems: favourites.mediaItems.where((e) => e.id != song.id).toList(),
5454
);

0 commit comments

Comments
 (0)