Plakate hochkant, Weiterschauen im Querformat

Alle Reihen zeigten Querformat-Kacheln. Für „Weiterschauen" ist das
richtig — man erkennt die Szene wieder, an der man aufgehört hat. Beim
Aussuchen sucht man dagegen nach Plakaten, und die sind hochkant.

Die Unterscheidung hängt an der Hub-Kennung, nicht am Titel: der kommt
in der Sprache des Servers, und die Startseite sähe sonst auf Englisch
anders aus als auf Deutsch, ohne dass jemand auf die Ursache käme.
`ondeck` zählt mit — ältere Serverfassungen nennen es so.

Bei Folgen in Hochkant-Reihen wird das Serienplakat genommen, nicht das
Szenenbild: ein 16:9-Bild hochkant beschnitten zeigt einen zufälligen
Ausschnitt und ist zum Wiedererkennen wertlos.

Plakate sind schmaler als Szenenbilder, damit bei gleicher Höhe mehr
nebeneinander passen — mehr Auswahl auf einen Blick ist der Zweck.

Vier Tests, darunter einer, der festhält, dass der übersetzte Titel die
Form nicht bestimmen darf.

149 Tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-09-11 22:44:13 +02:00
co-authored by Claude Opus 5
parent eea81aad2f
commit 53dacc9f1d
3 changed files with 114 additions and 12 deletions
@@ -67,6 +67,22 @@ public struct PlexHub: Sendable, Equatable, Decodable, Identifiable {
public var id: String { hubIdentifier }
/// Ob diese Reihe Angefangenes zeigt.
///
/// Entscheidet über die Form der Kacheln: Weiterschauen lebt vom
/// Szenenbild — man erkennt die Stelle wieder, an der man aufgehört hat.
/// Überall sonst ist das Plakat richtig, denn danach sucht man einen Film
/// aus.
///
/// Geprüft wird die Kennung, nicht der Titel: der ist übersetzt und hieße
/// auf Deutsch „Weiterschauen", auf Englisch „Continue Watching".
public var isContinueWatching: Bool {
let identifier = hubIdentifier.lowercased()
// `ondeck` ist die ältere Bezeichnung; Server unterschiedlicher
// Fassungen liefern die eine oder die andere.
return identifier.contains("continue") || identifier.contains("ondeck")
}
private enum CodingKeys: String, CodingKey {
case hubIdentifier, title, type, key, size, more
case items = "Metadata"