Der Stand lag daneben und wurde trotzdem weggeworfen
Der Fortschrittsbalken ist an **einer** Stelle gebaut und wird in jeder
Kachel verwendet — Web wie App. Fehlte er, dann nicht an der Kachel,
sondern weil der Server `State: null` schickte. Drei Listen taten das,
obwohl die Stände in derselben Abfrage danebenlagen:
/home/suggestions — „Weil du Ähnliches gesehen hast"
/home/seasonal — die saisonale Reihe
/movies/{id}/similar — „Ähnliche Titel"
Ausgerechnet die erste entsteht aus dem Sehverhalten: ein halb gesehener
Film sah dort aus wie ein unangetasteter, während dieselbe Kachel in der
Mediathek einen Balken trug. `ZuständeZu` gab es längst, es war nur
privat.
**Und „Als Nächstes" lässt sich jetzt räumen.** Das vorhandene Weglegen
reichte nicht dorthin: die Reihe liest `Watched` und `InProgress`, nie
`Dismissed` — und bei einer nie gestarteten Folge ist `InProgress` ohnehin
`false`. Weggelegt wird deshalb die **Serie**, nicht die Folge: beim
nächsten Laden rückte sonst die übernächste nach, und man legte
zwanzigmal weg. Den Zustand dafür gibt es schon, er wurde nur nie
gelesen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fa8d1a97e2
commit
fb8ad1c831
+24
-3
@@ -18,6 +18,11 @@ export type Kachel = {
|
||||
* eine Folge aus „Fortsetzen" öffnet die Serie, abgehakt wird aber die
|
||||
* Folge. */
|
||||
standId?: string;
|
||||
/** Aus welcher Reihe die Kachel stammt — nur dort, wo es etwas ändert.
|
||||
*
|
||||
* **Bisher nur für „Als Nächstes".** Dort heisst Weglegen etwas anderes
|
||||
* als in „Fortsetzen": nicht diese Folge, sondern diese Serie. */
|
||||
reihe?: 'naechste';
|
||||
art: 'filme' | 'serien';
|
||||
/** Die obere, fette Zeile. Bei einer Folge die Serie. */
|
||||
titel: string;
|
||||
@@ -69,20 +74,21 @@ export const alsKachel = (e: Film | Serie): Kachel => ({
|
||||
* „Als gesehen markieren" hätte dann die ganze Serie abgehakt statt der
|
||||
* einen Folge, die man gerade zur Hälfte gesehen hat.
|
||||
*/
|
||||
export const angefangenAlsKachel = (e: Angefangen): Kachel => e.kind === 'episode'
|
||||
export const angefangenAlsKachel = (e: Angefangen, reihe?: Kachel['reihe']): Kachel =>
|
||||
e.kind === 'episode'
|
||||
? {
|
||||
id: e.seriesId ?? e.id, art: 'serien',
|
||||
standId: e.id,
|
||||
titel: e.title,
|
||||
zweite: e.subTitle,
|
||||
dritte: `S${e.season} · F${e.episode}`,
|
||||
bild: e.posterImage, stand: e.state,
|
||||
bild: e.posterImage, stand: e.state, reihe,
|
||||
}
|
||||
: {
|
||||
id: e.id, art: 'filme',
|
||||
titel: e.title,
|
||||
zweite: e.year ? String(e.year) : null,
|
||||
bild: e.posterImage, stand: e.state,
|
||||
bild: e.posterImage, stand: e.state, reihe,
|
||||
};
|
||||
|
||||
/* ---------- Die Kachel selbst ---------- */
|
||||
@@ -322,6 +328,21 @@ function kachelpunkte(
|
||||
});
|
||||
}
|
||||
|
||||
// **In „Als Nächstes" wird die Serie weggelegt, nicht die Folge.**
|
||||
//
|
||||
// Eine einzelne Folge dort wegzulegen nützt nichts: beim nächsten Laden
|
||||
// rückt die übernächste nach. Gemeint ist „diese Serie nicht mehr
|
||||
// vorschlagen" — und `k.id` ist bei einer Folgenkachel ohnehin die Serie.
|
||||
if (k.reihe === 'naechste') {
|
||||
punkte.push({
|
||||
text: 'Serie aus Als Nächstes entfernen',
|
||||
tun: async () => {
|
||||
await weglegen(k.id);
|
||||
knopf.remove();
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
punkte.push({ text: 'Details', icon: 'mehr', tun: () => oeffnen(k.art, k.id) });
|
||||
|
||||
if (istAdmin()) {
|
||||
|
||||
Reference in New Issue
Block a user