Eine Folge ist weder ein Film noch eine Serie
Die App meldete auf der Startseite „Dieser Titel ist auf dem Server nicht
mehr vorhanden" — über eine Folge, die sie selbst gerade anzeigte.
Gemessen im Quelltext: `item(id:)` probiert `/movies/{id}`, dann
`/series/{id}`, und wirft sonst `.notFound`. In „Weiterschauen" steht
eine Folge mit ihrer eigenen Kennung, und einen Endpunkt für eine
einzelne Folge gab es gar nicht. Jetzt gibt es `GET /api/v1/episodes/{id}`
— mit `SeriesId`, denn ohne die Serie fehlen der Folge Titel und Bild.
Im Simulator nachgestellt und nachgeprüft: die Seite steht.
**Zuletzt hinzugefügt.** Die App zeigte „Filme" und „Serien" — den Anfang
der Mediathek in der Reihenfolge der Datenbank, also immer denselben.
Jetzt je Mediathek eine Reihe „Neu in …", sortiert nach Zugang. Die
Kennungen beginnen nun mit `latest`, und daran hängen zwei Einstellungen,
die an einem Flaro-Server deshalb nichts taten: „Gesehenes in Neuzugängen
ausblenden" und „Aufmacher nur aus Neuzugängen".
**Geplante Titel.** `MediaItem` kennt jetzt `availableFrom`. Aufmacher und
Detailseite zeigen statt des Knopfes „Bald ist es soweit" mit dem Termin.
Die Kachel spielte trotzdem los — im Simulator kam der Spieler bis „Wird
vorbereitet …" —, also zählt ein geplanter Titel jetzt wie eine Sammlung:
nichts zu starten, der Tipp führt auf die Seite.
**Und das Bild im Aufmacher.** Bei einer angefangenen Folge stand dort ihr
Standbild statt des Bildes der Serie; wer der Serie eines ausgesucht
hatte, fand ein anderes vor. Die Kachel behält das Standbild — sie zeigt,
wo man steht —, der Aufmacher bekommt `SeriesBackdropImage`.
**Die Punkte im Karussell waren 26 × 3 Pixel.** Von drei Klicks auf
denselben Punkt traf nur der auf der Mittellinie; fünf Pixel daneben
geschah nichts. Der Knopf ist jetzt 27 Pixel hoch, sichtbar bleiben 3.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f10fb4c1bc
commit
10a5070e58
@@ -430,7 +430,18 @@ public sealed record EpisodeResponse(
|
||||
Guid Id, int Season, int Episode, string? Title, string? Overview, string? StillImage,
|
||||
IReadOnlyList<MediaFileResponse> Files,
|
||||
ItemStateResponse? State,
|
||||
DateTimeOffset? PublishAt = null);
|
||||
DateTimeOffset? PublishAt = null,
|
||||
|
||||
/// <summary>Zu welcher Serie sie gehört.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Damit eine Folge für sich geöffnet werden kann.</b> Die Apps
|
||||
/// reichen eine Kennung durch, ohne zu wissen, was dahintersteckt. War es
|
||||
/// eine Folge, fand sich weder ein Film noch eine Serie, und die
|
||||
/// Startseite meldete „Dieser Titel ist auf dem Server nicht mehr
|
||||
/// vorhanden" — über einen Titel, den sie selbst gerade angezeigt hatte.
|
||||
/// </remarks>
|
||||
Guid? SeriesId = null);
|
||||
|
||||
public sealed record Page<T>(IReadOnlyList<T> Items, int Total);
|
||||
|
||||
@@ -631,7 +642,17 @@ public sealed record ContinueEntry(
|
||||
double? DurationSeconds = null,
|
||||
|
||||
/// <summary>Ab wann abspielbar. In der Zukunft heisst: noch nicht.</summary>
|
||||
DateTimeOffset? PublishAt = null);
|
||||
DateTimeOffset? PublishAt = null,
|
||||
|
||||
/// <summary>Das breite Bild der Serie, zu der die Folge gehört.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Neben dem Folgenbild, nicht statt seiner.</b> Die Kachel will das
|
||||
/// Bild der Folge — es zeigt, wo man steht. Der Aufmacher füllt die halbe
|
||||
/// Seite und will das Bild der Serie; dort stand bisher das Folgenbild,
|
||||
/// und wer das Serienbild selbst ausgesucht hatte, fand ein anderes vor.
|
||||
/// </remarks>
|
||||
string? SeriesBackdropImage = null);
|
||||
|
||||
/// <summary>Eine laufende Wiedergabe — für das Dashboard.</summary>
|
||||
public sealed record SessionResponse(
|
||||
|
||||
Reference in New Issue
Block a user