mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-15 18:25:59 -07: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 {
|
EpisodeModel? get nextUp {
|
||||||
final lastProgress =
|
final episodes = whereNot((element) => element.season <= 0).toList();
|
||||||
lastIndexWhere((element) => element.userData.progress != 0 && element.status == EpisodeStatus.available);
|
|
||||||
|
final lastProgress = episodes
|
||||||
|
.lastIndexWhere((element) => element.userData.progress != 0 && element.status == EpisodeStatus.available);
|
||||||
final lastPlayed =
|
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) {
|
if (lastProgress == -1 && lastPlayed == -1) {
|
||||||
return firstWhereOrNull((element) => element.status == EpisodeStatus.available);
|
return episodes.firstWhereOrNull((element) => element.status == EpisodeStatus.available);
|
||||||
} else {
|
} 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);
|
.firstWhereOrNull((element) => element.status == EpisodeStatus.available);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import 'package:chopper/chopper.dart';
|
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:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.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/episode_model.dart';
|
||||||
import 'package:fladder/models/items/season_model.dart';
|
import 'package:fladder/models/items/season_model.dart';
|
||||||
import 'package:fladder/models/items/series_model.dart';
|
import 'package:fladder/models/items/series_model.dart';
|
||||||
import 'package:fladder/providers/api_provider.dart';
|
import 'package:fladder/providers/api_provider.dart';
|
||||||
import 'package:fladder/providers/related_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 =
|
final seriesDetailsProvider =
|
||||||
StateNotifierProvider.autoDispose.family<SeriesDetailViewNotifier, SeriesModel?, String>((ref, id) {
|
StateNotifierProvider.autoDispose.family<SeriesDetailViewNotifier, SeriesModel?, String>((ref, id) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue