mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
fix: Remove specials from nextUp selection (#343)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
4d7c89b9eb
commit
d1d7cbd74d
2 changed files with 11 additions and 8 deletions
|
|
@ -199,15 +199,18 @@ extension EpisodeListExtensions on List<EpisodeModel> {
|
|||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<SeriesDetailViewNotifier, SeriesModel?, String>((ref, id) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue