diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2021-01-18 15:48:53 +0100 |
|---|---|---|
| committer | Joshua M. Boniface <joshua@boniface.me> | 2021-01-23 15:37:26 -0500 |
| commit | fa7a8752a9e6e96b7ecf1f82a416695f73fd1f36 (patch) | |
| tree | 70ebf0589be1915647a8320cb34e0dccf50758d2 /Emby.Server.Implementations | |
| parent | d129afa74eebadc35b78cc56909985896fe558b1 (diff) | |
Merge pull request #5027 from crobibero/episode-first-up
(cherry picked from commit 65c09f82c58d2845862a91feee6e2ed078f95609)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Diffstat (limited to 'Emby.Server.Implementations')
| -rw-r--r-- | Emby.Server.Implementations/TV/TVSeriesManager.cs | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/TV/TVSeriesManager.cs b/Emby.Server.Implementations/TV/TVSeriesManager.cs index f0734340b..839b62448 100644 --- a/Emby.Server.Implementations/TV/TVSeriesManager.cs +++ b/Emby.Server.Implementations/TV/TVSeriesManager.cs @@ -143,10 +143,31 @@ namespace Emby.Server.Implementations.TV var allNextUp = seriesKeys .Select(i => GetNextUp(i, currentUser, dtoOptions)); + // If viewing all next up for all series, remove first episodes + // But if that returns empty, keep those first episodes (avoid completely empty view) + var alwaysEnableFirstEpisode = !string.IsNullOrEmpty(request.SeriesId); + var anyFound = false; + return allNextUp .Where(i => { - return i.Item1 != DateTime.MinValue; + if (request.DisableFirstEpisode) + { + return i.Item1 != DateTime.MinValue; + } + + if (alwaysEnableFirstEpisode || i.Item1 != DateTime.MinValue) + { + anyFound = true; + return true; + } + + if (!anyFound && i.Item1 == DateTime.MinValue) + { + return true; + } + + return false; }) .Select(i => i.Item2()) .Where(i => i != null); |
