@@ -259,10 +259,6 @@ const COLLECTOR_ARTIST_DROPDOWN = {
259
259
{
260
260
id : 'artistCollectorMain' ,
261
261
items : [
262
- {
263
- title : PERIOD . DEFAULT . title ,
264
- handler : ( ) => collectDiscographyOfPeriod ( PERIOD . DEFAULT ) ,
265
- } ,
266
262
{
267
263
title : PERIOD . ONE_YEAR . title ,
268
264
handler : ( ) => collectDiscographyOfPeriod ( PERIOD . ONE_YEAR ) ,
@@ -275,6 +271,14 @@ const COLLECTOR_ARTIST_DROPDOWN = {
275
271
title : PERIOD . FIVE_YEAR . title ,
276
272
handler : ( ) => collectDiscographyOfPeriod ( PERIOD . FIVE_YEAR ) ,
277
273
} ,
274
+ {
275
+ title : PERIOD . DEFAULT . title ,
276
+ handler : ( ) => collectDiscographyOfPeriod ( PERIOD . DEFAULT ) ,
277
+ } ,
278
+ {
279
+ title : 'Все лайки' ,
280
+ handler : ( ) => collectDiscographyLikes ( ) ,
281
+ } ,
278
282
] ,
279
283
} ,
280
284
] ,
@@ -601,20 +605,29 @@ async function collectDiscoveryAlbums(playlist) {
601
605
}
602
606
}
603
607
608
+ function collectDiscographyLikes ( ) {
609
+ collectDiscography ( PERIOD . DEFAULT , 'likes' ) ;
610
+ }
611
+
604
612
function collectDiscographyOfPeriod ( period ) {
605
- selectedPlaylist = PLAYLIST . discography ;
606
- selectedPlaylist . period = period ;
607
- collectDiscography ( ) ;
613
+ collectDiscography ( period , 'all' ) ;
608
614
}
609
615
610
- function collectDiscography ( ) {
616
+ function collectDiscography ( period , type ) {
617
+ selectedPlaylist = PLAYLIST . discography ;
618
+ selectedPlaylist . period = period ;
611
619
fireCollectorSwal ( selectedPlaylist . title ) ;
612
620
toggleDropdown ( 'artistCollectorMain' ) ;
613
- receiveAlbumsOfArtist ( ( response ) => {
621
+
622
+ receiveAlbumsOfArtist ( async ( response ) => {
614
623
selectedPlaylist . albums = response . albums ;
615
624
filterAlbumsByPeriod ( selectedPlaylist . period ) ;
625
+ let trackIds = formatAlbumTracksToIds ( selectedPlaylist . albums ) ;
626
+ if ( type == 'likes' ) {
627
+ trackIds = await removeAllExceptLikes ( trackIds ) ;
628
+ }
616
629
selectedPlaylist . title += ' ' + response . artist . name ;
617
- selectedPlaylist . trackIds = formatAlbumTracksToIds ( selectedPlaylist . albums ) ;
630
+ selectedPlaylist . trackIds = trackIds
618
631
patchPlaylistWithRedirect ( selectedPlaylist ) ;
619
632
} ) ;
620
633
}
@@ -795,11 +808,13 @@ function removeFav(ids, callback) {
795
808
removeDislikeIds ( ids , ( trackIds ) => removeLikeIds ( trackIds , callback ) ) ;
796
809
}
797
810
798
- function removeAllExceptLikes ( trackIds , callback ) {
799
- receiveFavoriteTrackIds ( FAV_TYPE . LIKE , ( likeIds ) => {
800
- let filteredTrackIds = trackIds . filter ( ( item ) => likeIds . some ( ( likeTrack ) => likeTrack . id == item . id ) ) ;
801
- callback ( filteredTrackIds ) ;
802
- } ) ;
811
+ function removeAllExceptLikes ( trackIds ) {
812
+ return new Promise ( resolve => {
813
+ receiveFavoriteTrackIds ( FAV_TYPE . LIKE , ( likeIds ) => {
814
+ let filteredTrackIds = trackIds . filter ( ( item ) => likeIds . some ( ( likeTrack ) => likeTrack . id == item . id ) ) ;
815
+ resolve ( filteredTrackIds ) ;
816
+ } ) ;
817
+ } )
803
818
}
804
819
805
820
function removeFavoriteTrackIds ( trackIds , type , callback ) {
0 commit comments