Liegestuetze: pro Stream mitzaehlen, wie viele gemacht sind

Herunterzaehlen mit -1/-5/-10 zaehlt als gemacht, Setzen bleibt eine
Korrektur und zaehlt nicht. Der Stand "gemacht" beginnt mit jedem neuen
Stream bei 0 (nicht beim Neustart des Hubs mitten im Stream), steht im
Overlay unter der offenen Zahl und laesst sich auf der Uebersicht
korrigieren.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZeasyAlexandClaude Opus 5.5 committed 2026-10-04 00:46:32 +02:00
1 parent eb9eab949e
commit 094a791da2
7 files changed
+213 -79

No files matched your search

+8 -6
View File
@@ -66,12 +66,14 @@ export type StreamEvent = {
};
/**
* Neuer Stand der offenen Liegestuetze. `dazu` und `name` nur bei einer
* Einloesung - eine Korrektur von Hand soll nicht aussehen wie eine.
* Neuer Stand der Liegestuetze: offen und in diesem Stream gemacht. `dazu`
* und `name` nur bei einer Einloesung - eine Korrektur von Hand soll nicht
* aussehen wie eine.
*/
export type LiegestuetzeEvent = {
kind: 'liegestuetze';
offen: number;
gemacht: number;
dazu?: number;
name?: string;
};
@@ -105,8 +107,8 @@ export type OverlayEvent =
| { kind: 'beat'; t: number }
| {
kind: 'state'; stream: StreamEvent; chat: ChatEvent[]; alerts: AlertEvent[];
/** Offene Liegestuetze, damit der Zaehler nach dem Neuverbinden stimmt. */
liegestuetze: number;
/** Liegestuetze, damit der Zaehler nach dem Neuverbinden stimmt. */
liegestuetze: { offen: number; gemacht: number };
};
/**
@@ -134,7 +136,7 @@ export function createBus(): Bus {
let stream: StreamEvent = {
kind: 'stream', live: false, title: '', category: '', viewers: 0, startedAt: null,
};
let liegestuetze = 0;
let liegestuetze = { offen: 0, gemacht: 0 };
return {
publish(ev) {
@@ -149,7 +151,7 @@ export function createBus(): Bus {
} else if (ev.kind === 'stream') {
stream = ev;
} else if (ev.kind === 'liegestuetze') {
liegestuetze = ev.offen;
liegestuetze = { offen: ev.offen, gemacht: ev.gemacht };
} else if (ev.kind === 'clear') {
// Geloeschtes verschwindet auch aus dem Rueckblick, sonst holt der
// naechste Neustart der Browser-Source es zurueck ins Bild.