This commit is contained in:
ponzischeme89
2026-08-22 08:26:10 +12:00
parent 3ae8ffad64
commit b131932a4e
34 changed files with 10740 additions and 9190 deletions
-20
View File
@@ -130,20 +130,6 @@ var preferenceCatalogue = []preferenceDefinition{
Description: "Show third-party ratings on browse and detail pages.",
Kind: preferenceToggle, Default: true,
},
{
// This is operator-owned because the hero is a shared piece of the launcher's
// composition, not a per-television preference. The multi value keeps its order.
Key: "metadataHeroContentOrder", Name: "Metadata hero content order", Area: "Home layout",
Description: "The order of title, ratings, metadata information and plot summary in the focused metadata hero.",
Kind: preferenceMulti, AdminOnly: true,
Default: []string{"title", "ratings", "facts", "summary"},
Options: []preferenceOption{
option("title", "Movie logo or title"),
option("ratings", "Ratings"),
option("facts", "Metadata information"),
option("summary", "Plot summary"),
},
},
{
Key: "hideWatchedMovies", Name: "Hide watched films", Area: "Home",
Description: "Keep fully watched films out of browse rows and the hero.",
@@ -336,12 +322,6 @@ func normalizePreference(definition preferenceDefinition, value any) any {
if selected := stringList(value); len(selected) > 0 {
kept := []string{}
for _, entry := range selected {
// Genre used to be a separate metadata-hero block. It now lives inside
// Metadata information with runtime and the sound/video badges. Map the
// stored token instead of silently removing that block from existing users.
if definition.Key == "metadataHeroContentOrder" && entry == "genres" {
entry = "facts"
}
if hasOption(definition.Options, entry) && !slices.Contains(kept, entry) {
kept = append(kept, entry)
}