Drei Wege, die über ein Neuladen führten
**In „Fortsetzen" startet ein Tipp.** Dort steht ein Titel, *weil* man ihn angefangen hat, und die Stelle steht daneben — der Umweg über die Detailseite stellte eine Frage, die schon beantwortet war. Überall sonst bleibt es beim Weg auf die Seite: wer nachsehen will, wie viele Staffeln eine Serie hat, soll nicht den Film bekommen. **Ein Haken nimmt die Kachel mit.** In „Fortsetzen" und „Als Nächstes" steht, was offen ist. Eine abgehakte Folge ist nicht mehr offen — sie mit einem Haken stehen zu lassen sah aus, als hätte das Abhaken nicht gewirkt. Dasselbe für „Aus Fortsetzen entfernen": in der Reihe selbst heisst entfernen genau das. **Und ein getauschtes Bild erreicht den Aufmacher.** Wer auf der Startseite ein Plakat wechselt, sieht denselben Titel gleich darüber in voller Breite — dort stand bis zum nächsten Neuladen das alte. Die Kachel frischt sich selbst auf; der Aufmacher steht ganz woanders und erfuhr nichts davon. Jetzt meldet der Bilderdialog es der ganzen Seite, und wer es angeht, hört zu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
adca700c4a
commit
2c535e6f47
+18
-9
@@ -22,7 +22,14 @@ export type Kachel = {
|
||||
*
|
||||
* **Bisher nur für „Als Nächstes".** Dort heisst Weglegen etwas anderes
|
||||
* als in „Fortsetzen": nicht diese Folge, sondern diese Serie. */
|
||||
reihe?: 'naechste';
|
||||
reihe?: 'naechste' | 'fortsetzen';
|
||||
/** Was ein Tipp auslöst, wenn es nicht die Detailseite sein soll.
|
||||
*
|
||||
* **Nur in „Fortsetzen".** Dort ist die Absicht eindeutig: der Titel steht
|
||||
* in der Reihe, *weil* man ihn angefangen hat, und die Stelle steht
|
||||
* daneben. Überall sonst führt der Tipp auf die Seite — wer nur nachsehen
|
||||
* will, wie viele Staffeln eine Serie hat, soll nicht den Film bekommen. */
|
||||
starten?: () => void;
|
||||
art: 'filme' | 'serien';
|
||||
/** Die obere, fette Zeile. Bei einer Folge die Serie. */
|
||||
titel: string;
|
||||
@@ -107,7 +114,7 @@ export function kachel(k: Kachel, oeffnen: (art: 'filme' | 'serien', id: string)
|
||||
// muss — sie liest sie vom angeklickten Element ab.
|
||||
knopf.dataset.id = k.id;
|
||||
knopf.dataset.art = k.art;
|
||||
knopf.onclick = () => oeffnen(k.art, k.id);
|
||||
knopf.onclick = () => (k.starten ? k.starten() : oeffnen(k.art, k.id));
|
||||
|
||||
// **Das Kontextmenü an jeder Kachel, überall.** Gesehen, Favorit und
|
||||
// Weglegen gab es nur auf der Detailseite — in einer Übersicht mit zwanzig
|
||||
@@ -297,14 +304,14 @@ function kachelpunkte(
|
||||
// weiss nur der Server.
|
||||
k.stand = await gesehen(k.standId ?? k.id, !istGesehen);
|
||||
|
||||
// **In „Als Nächstes" ist ein Haken ein Abschied.**
|
||||
// **In „Fortsetzen" und „Als Nächstes" ist ein Haken ein Abschied.**
|
||||
//
|
||||
// Die Reihe zeigt, was dran ist. Eine abgehakte Folge ist nicht mehr
|
||||
// dran — sie mit einem Haken stehen zu lassen sah aus, als hätte das
|
||||
// Abhaken nicht gewirkt. Gemessen: der Server lieferte beim nächsten
|
||||
// Laden längst die richtige Folge, nur sah man das nie, weil die
|
||||
// Reihe nicht neu geladen wurde.
|
||||
if (k.reihe === 'naechste' && !istGesehen) {
|
||||
// Beide Reihen zeigen, was offen ist. Eine abgehakte Folge ist nicht
|
||||
// mehr offen — sie mit einem Haken stehen zu lassen sah aus, als
|
||||
// hätte das Abhaken nicht gewirkt. Der Server lieferte beim nächsten
|
||||
// Laden längst das Richtige; nur sah man das nie, weil die Reihe
|
||||
// nicht neu geladen wurde.
|
||||
if (k.reihe && !istGesehen) {
|
||||
knopf.remove();
|
||||
return;
|
||||
}
|
||||
@@ -335,6 +342,8 @@ function kachelpunkte(
|
||||
text: 'Aus Fortsetzen entfernen',
|
||||
tun: async () => {
|
||||
await weglegen(k.standId ?? k.id);
|
||||
// In der Reihe selbst heisst „entfernen" genau das.
|
||||
if (k.reihe === 'fortsetzen') { knopf.remove(); return; }
|
||||
if (k.stand) k.stand.dismissed = true;
|
||||
knopf.querySelector('.fortschritt')?.remove();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user