@@ -295,21 +295,31 @@ var Details = {
295295 var castPromise = Promise . resolve ( item . People || [ ] ) ;
296296 var seasonsPromise = item . Type === 'Series' ? self . fetchSeasons ( api , itemId ) . catch ( function ( ) { return [ ] ; } ) : Promise . resolve ( [ ] ) ;
297297 var episodesPromise = ( item . Type === 'Episode' && item . SeasonId ) ? self . fetchEpisodes ( api , item . SeriesId , item . SeasonId ) . catch ( function ( ) { return [ ] ; } ) : ( ( item . Type === 'Season' && item . SeriesId ) ? self . fetchEpisodes ( api , item . SeriesId , item . Id ) . catch ( function ( ) { return [ ] ; } ) : Promise . resolve ( [ ] ) ) ;
298- var featuresPromise = self . fetchSpecialFeatures ( api , item ) . catch ( function ( ) { return [ ] ; } ) ;
299- var collectionsPromise = self . fetchCollectionItems ( api , item ) . catch ( function ( ) { return null ; } ) ;
300298
301- return Promise . all ( [ similarPromise , castPromise , seasonsPromise , episodesPromise , featuresPromise , collectionsPromise ] ) . then ( function ( results ) {
299+ return Promise . all ( [ similarPromise , castPromise , seasonsPromise , episodesPromise ] ) . then ( function ( results ) {
302300 var similar = results [ 0 ] ;
303301 var cast = results [ 1 ] ;
304302 var seasons = results [ 2 ] ;
305303 var episodes = results [ 3 ] ;
306- var features = results [ 4 ] || [ ] ;
307- var collections = results [ 5 ] || { title : '' , items : [ ] } ;
308304
309305 if ( item . Type === 'Season' ) {
310306 self . renderSeasonDetails ( item , episodes ) ;
311307 } else {
312- self . renderDetails ( item , similar , cast , seasons , episodes , features , collections ) ;
308+ self . renderDetails ( item , similar , cast , seasons , episodes , [ ] , { title : '' , items : [ ] } ) ;
309+ Promise . all ( [
310+ self . fetchSpecialFeatures ( api , item ) . catch ( function ( ) { return [ ] ; } ) ,
311+ self . fetchCollectionItems ( api , item ) . catch ( function ( ) { return { title : '' , items : [ ] } ; } )
312+ ] ) . then ( function ( auxResults ) {
313+ if ( ! self . currentItem || self . currentItem . Id !== item . Id ) return ;
314+
315+ var features = auxResults [ 0 ] || [ ] ;
316+ var collections = auxResults [ 1 ] || { title : '' , items : [ ] } ;
317+ var hasFeatures = features . length > 0 ;
318+ var hasCollectionItems = collections && collections . items && collections . items . length > 0 ;
319+
320+ if ( ! hasFeatures && ! hasCollectionItems ) return ;
321+ self . renderDetails ( item , similar , cast , seasons , episodes , features , collections ) ;
322+ } ) ;
313323 }
314324
315325 if ( MdbList . isEnabled ( ) ) {
0 commit comments