451 gegen 461, und ein Band für das, was noch wartet
Drei Zahlen, die alle stimmen und Verschiedenes meinen: Plex zählte 451 Filme, Flaro 449, und der Scan lief über 461 Dateien. Die Mediathekszeile nennt sie jetzt getrennt — Titel, Folgen, Dateien, zweite Fassungen und nicht Zugeordnetes. Damit beantwortet sich die Frage selbst, statt offen zu bleiben. Die Rechnung dahinter war beim ersten Versuch falsch: sie verglich gegen alle Folgen und kam auf 1223 Titel bei 324 Dateien. Gezählt wird jetzt, zu wie vielen Titeln überhaupt noch eine Datei daliegt — dann geht Dateien = Titel + Fassungen + ohne auf, auch wenn etwas vermisst wird. Nachgemessen mit einer echten Plex-Kopie: 3 Titel, 4 Dateien, 1 zweite Fassung. Dazu trägt eine Kachel, die noch auf Freigabe wartet, jetzt ein Band — „Wartet" oder „Geplant". Für einen Administrator standen wartende Titel bisher mitten zwischen den freigegebenen, ohne dass etwas sie unterschied; wer einen suchte, fand ihn nur über die Prüfliste. Dafür reicht `PublishAt` jetzt bis in die Kachel durch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5a5cf3d006
commit
c854c4a09a
@@ -23,6 +23,8 @@ export type Kachel = {
|
||||
stand?: Stand | null;
|
||||
/** Die Zahl offener Folgen, als Plakette oben rechts. */
|
||||
offen?: number | null;
|
||||
/** `null` heisst: wartet auf Freigabe. Ein Zeitpunkt in der Zukunft: geplant. */
|
||||
freigabe?: string | null;
|
||||
};
|
||||
|
||||
/* ---------- Umwandlungen ---------- */
|
||||
@@ -35,6 +37,7 @@ export const alsKachel = (e: Film | Serie): Kachel => ({
|
||||
bild: e.posterImage,
|
||||
stand: 'state' in e ? e.state : null,
|
||||
offen: 'unwatchedCount' in e ? e.unwatchedCount : null,
|
||||
freigabe: e.publishAt,
|
||||
});
|
||||
|
||||
/** Eine Kachel aus „Weiterschauen" — bei Folgen dreizeilig, wie bei Plex. */
|
||||
@@ -110,6 +113,23 @@ export function kachel(k: Kachel, oeffnen: (art: 'filme' | 'serien', id: string)
|
||||
rahmen.appendChild(bild);
|
||||
}
|
||||
|
||||
// **Was noch wartet, trägt ein Band.**
|
||||
//
|
||||
// Für einen Administrator stehen wartende Titel mitten zwischen den
|
||||
// freigegebenen, ohne dass etwas sie unterscheidet — und wer einen davon
|
||||
// sucht, findet ihn nur über die Prüfliste. Für alle anderen ist er gar
|
||||
// nicht da, dann erscheint das Band auch nie.
|
||||
if (k.freigabe === null || (k.freigabe && new Date(k.freigabe) > new Date())) {
|
||||
const band = document.createElement('span');
|
||||
band.className = 'wartet';
|
||||
band.textContent = k.freigabe === null ? 'Wartet' : 'Geplant';
|
||||
band.title = k.freigabe === null
|
||||
? 'Wartet auf Freigabe — nur für Administratoren sichtbar'
|
||||
: `Erscheint am ${new Date(k.freigabe).toLocaleString('de-CH',
|
||||
{ dateStyle: 'medium', timeStyle: 'short' })}`;
|
||||
rahmen.appendChild(band);
|
||||
}
|
||||
|
||||
// **Der Haken sitzt in der Ecke, nicht in der Beschriftung.** So wie bei
|
||||
// Plex: ein Blick über das Raster zeigt, was noch offen ist, ohne eine
|
||||
// einzige Zeile zu lesen.
|
||||
|
||||
Reference in New Issue
Block a user