diff --git a/lib/models/items/episode_model.dart b/lib/models/items/episode_model.dart index 7f94a18..56ec3d5 100644 --- a/lib/models/items/episode_model.dart +++ b/lib/models/items/episode_model.dart @@ -199,15 +199,18 @@ extension EpisodeListExtensions on List { } EpisodeModel? get nextUp { - final lastProgress = - lastIndexWhere((element) => element.userData.progress != 0 && element.status == EpisodeStatus.available); + final episodes = whereNot((element) => element.season <= 0).toList(); + + final lastProgress = episodes + .lastIndexWhere((element) => element.userData.progress != 0 && element.status == EpisodeStatus.available); final lastPlayed = - lastIndexWhere((element) => element.userData.played && element.status == EpisodeStatus.available); + episodes.lastIndexWhere((element) => element.userData.played && element.status == EpisodeStatus.available); if (lastProgress == -1 && lastPlayed == -1) { - return firstWhereOrNull((element) => element.status == EpisodeStatus.available); + return episodes.firstWhereOrNull((element) => element.status == EpisodeStatus.available); } else { - return getRange(lastProgress > lastPlayed ? lastProgress : lastPlayed + 1, length) + return episodes + .getRange(lastProgress > lastPlayed ? lastProgress : lastPlayed + 1, episodes.length) .firstWhereOrNull((element) => element.status == EpisodeStatus.available); } } diff --git a/lib/providers/items/series_details_provider.dart b/lib/providers/items/series_details_provider.dart index 3bec5cb..61083b0 100644 --- a/lib/providers/items/series_details_provider.dart +++ b/lib/providers/items/series_details_provider.dart @@ -1,15 +1,15 @@ import 'package:chopper/chopper.dart'; -import 'package:fladder/models/item_base_model.dart'; -import 'package:fladder/providers/service_provider.dart'; -import 'package:fladder/providers/sync_provider.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart'; +import 'package:fladder/models/item_base_model.dart'; import 'package:fladder/models/items/episode_model.dart'; import 'package:fladder/models/items/season_model.dart'; import 'package:fladder/models/items/series_model.dart'; import 'package:fladder/providers/api_provider.dart'; import 'package:fladder/providers/related_provider.dart'; +import 'package:fladder/providers/service_provider.dart'; +import 'package:fladder/providers/sync_provider.dart'; final seriesDetailsProvider = StateNotifierProvider.autoDispose.family((ref, id) {