Remove limit of 7 home sections

This commit is contained in:
Patrick Barron 2020-07-11 14:11:55 -04:00
parent 3c7eb6b324
commit f3263c7d8e

View file

@ -1,10 +1,12 @@
using System;
using System.Linq;
using Jellyfin.Data.Entities;
using Jellyfin.Data.Enums;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Services;
using Microsoft.Extensions.Logging;
@ -135,16 +137,19 @@ namespace MediaBrowser.Api
prefs.ScrollDirection = request.ScrollDirection;
prefs.HomeSections.Clear();
for (int i = 0; i < 7; i++)
foreach (var key in request.CustomPrefs.Keys.Where(key => key.StartsWith("homesection")))
{
if (request.CustomPrefs.TryGetValue("homesection" + i, out var homeSection))
var order = int.Parse(key.Substring("homesection".Length));
if (!Enum.TryParse<HomeSectionType>(request.CustomPrefs[key], true, out var type))
{
prefs.HomeSections.Add(new HomeSection
{
Order = i,
Type = Enum.TryParse<HomeSectionType>(homeSection, true, out var type) ? type : defaults[i]
});
type = order < 7 ? defaults[order] : HomeSectionType.None;
}
prefs.HomeSections.Add(new HomeSection
{
Order = order,
Type = type
});
}
_displayPreferencesManager.SaveChanges(prefs);