Filipe, mit einem Bildschirmfoto des Regelblocks: "man soll die titel
in den texten besser erkennen und sehen was zu was passt. ich will
auch dass man sieht welche geschenke bei dem event zaehlen und so.
ich will alle informationen die moeglich sind wenn man den link
hochlaedt. ... auch wenn man teilt soll es einfach perfekt sein. man
soll alle infos sehen die man braucht. die kacheln von den events
soll auch nicht so lang sein, die soll man aufklappen koennen. genau
wie eine trennung fuer heute, letzte woche letzten monat und so."
DER FEHLER LAG NICHT IM TEXT, SONDERN IN SEINER ANZEIGE. Im Feld
stand die ganze Zeit eine Gliederung -- Hinweise mit "* ", eine
Ueberschrift mit Untertitel hinter einem Gedankenstrich, Absaetze
ohne Zeichen, Aufzaehlungen mit "- ". Die Kachel hat daraus mit
punkteAusText() EINE flache Liste gemacht: jede Zeile derselbe
Strich, alle gleich gross.
gliederung() liest die Gliederung, die schon dasteht, statt
den Text umzuschreiben. Die beiden Kampagnen, die
heute in der Datenbank liegen, sehen dadurch
sofort richtig aus -- ohne Umstellung.
Geschenke kommen aus der gelesenen LISTE, nicht aus dem
Text, und stehen OHNE Aufklappen auf der Kachel.
Aufklappen alles Uebrige hinter einem Druck: gemessen 555 px
weniger je Kachel bei Gipfelstuermer.
Gruppen je Spalte laeuft / kommt / vorbei, Vergangenes
nach diese Woche, dieser Monat, aelter.
NEU GELESEN (stand in allen vier gespeicherten Seiten und wurde nie
angesehen): die Rangliste mit ihren Gruppen ("Superstars" bis
"5. Liga", bei Glow Up "Team Glow"/"Team Shine"), die Beschreibung je
Missionsgruppe, der Steckbrief (Kurznummer, Markt, Sprache, Zone),
der zweite Bildbaustein, und Ueberschriften INNERHALB der Klapptexte
-- "WELCHE LIGA BIN ICH?" hat jetzt sechs eingerueckte Unterpunkte
statt zwoelf gleichrangiger Zeilen.
EVENT_TEXT_MAX 6000 -> 20000. Der Regeltext von Gipfelstuermer ist
7679 Zeichen lang; es fielen bisher jedes Mal rund 1600 Zeichen
echter Inhalt weg. Die Zahl steht jetzt an EINER Stelle.
TEILEN: Was die KAMPAGNE sagt, geht hinaus (Aufgaben, Geschenke,
Regeln) -- wer WIR sind, nicht (Name, Rolle, Haus, Kampagnennummer,
Steckbrief). Und keine Hinweiszeile: "Die Preise konnten nicht
gelesen werden -- bitte nachtragen" ist eine Notiz an DogFather und
hat auf einer Seite, die er in Discord postet, nichts zu suchen.
BERICHTIGT, WEIL NACHGEMESSEN:
- Number(null) ist 0 und 0 ist endlich -- "Feuerwerk" bekam an drei
Stellen "0 Coins" angeschrieben, also eine falsche Preisangabe.
- Ein Kommentar im Leser behauptete, der Wertungszeitraum weiche
vom Kampagnenzeitraum ab. Nachgemessen ist er in allen drei
Seiten mit Rangliste auf die Millisekunde gleich; ich hatte zwei
verschiedene Kampagnen verglichen.
- bild-kampagne.mjs verlangte "jede Kachel traegt den Ton ihrer
Seite" und war damit seit dem 07.10. rot, weil an dem Tag bewusst
das Gegenteil entschieden wurde (Zustandston, Seitenkante). Nicht
aufgefallen, weil nach dem Lauf nur die Zahl der MESSUNGEN notiert
wurde, nicht die der FEHLER.
- .kv-seite > .eintrag-karte wird .kv-seite .eintrag-karte: Die
Karten haengen durch die Gruppen eine Ebene tiefer. Das waere der
fuenfte Direktkind-Selektor gewesen, der nach einem Umbau still
ausfaellt -- diesmal vorher gesehen.
GEPRUEFT: 186 (lesen, +58), 148 (Route/Teilen, +25), 158 (Kachel,
+64), 67 (Agentur, +5), 67 Messungen (Bild, +14), dazu struktur,
css-klassen, zeichen, deutsche-texte, tippziele, lesbarkeit und
haus-trennung (107, unveraendert). Sechs Gegenproben: alle sechs
Sabotagen werden bemerkt, alle Dateien byte-gleich wiederhergestellt.
Co-Authored-By: Claude Opus 5 <[email protected]>
87 lines
3.2 KiB
HTML
87 lines
3.2 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>Spendentafel</title>
|
|
<!-- ======================================================================
|
|
DIE SPENDENTAFEL FÜR OBS UND TIKTOK STUDIO (28.09.2026)
|
|
|
|
Eine Browser-Quelle, die nichts zeigt als die Spendenkarten — auf
|
|
DURCHSICHTIGEM Grund, damit sie über dem Bild liegen kann.
|
|
|
|
KEINE ANMELDUNG, SONDERN EIN SCHLÜSSEL. OBS speichert die
|
|
Anmeldung einer Browser-Quelle nicht zuverlässig; eine Quelle,
|
|
bei der man sich nach jedem Programmstart neu anmelden muss, ist
|
|
mitten in einer Sendung unbrauchbar. Ohne gültigen Schlüssel
|
|
antwortet der Server mit 404 und diese Seite bleibt leer.
|
|
|
|
SIE ZEIGT NUR, WAS OHNEHIN IM STREAM STEHT: Betrag, Name, Gruß,
|
|
Stufe. Kein Chat, keine Namen von Zusehenden, keine Bedienung.
|
|
|
|
In OBS: Quelle → Browser → diese Adresse, Breite 1920, Höhe 1080,
|
|
„Eigenes CSS" leer lassen (der Grund ist schon
|
|
durchsichtig).
|
|
====================================================================== -->
|
|
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610072238" />
|
|
<style>
|
|
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
|
|
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
|
|
html, body {
|
|
margin: 0; padding: 0;
|
|
background: transparent;
|
|
height: 100%;
|
|
overflow: hidden;
|
|
font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
|
|
}
|
|
/* Der Kasten für die Karten füllt das Bild. Wo sie erscheinen,
|
|
entscheidet die Ausrichtung — unten links, wie im Saal. */
|
|
.obs-tafel {
|
|
position: fixed;
|
|
inset: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-end;
|
|
align-items: flex-start;
|
|
gap: 14px;
|
|
padding: 48px;
|
|
pointer-events: none;
|
|
}
|
|
/* Auf der Bühne darf sie größer sein als im Saal: Hier deckt sie
|
|
nichts zu, was man lesen müsste. */
|
|
/* ALLES IN rem. Ein einziger Wert am Wurzelelement (`&g=` in der
|
|
Adresse) nimmt damit Schrift, Bild, Polsterung und Rundung
|
|
gleichmäßig mit. In Pixeln wäre das die Sorte Zahl, die man an
|
|
zwölf Stellen nachziehen muss. */
|
|
.obs-tafel .spendenkarte {
|
|
max-width: 34rem;
|
|
gap: .9rem;
|
|
padding: .85rem 1.3rem .85rem .9rem;
|
|
border-radius: 1.15rem;
|
|
}
|
|
.obs-tafel .spendenkarte__betrag { font-size: 2.1rem; }
|
|
.obs-tafel .spendenkarte__bild { width: 3.6rem; height: 3.6rem; }
|
|
.obs-tafel .spendenkarte__wer { font-size: .95rem; }
|
|
.obs-tafel .spendenkarte__stufe { font-size: .8rem; }
|
|
.obs-tafel .spendenkarte__gruss { font-size: 1rem; }
|
|
|
|
/* Steht hier gar nichts, ist das der Normalfall — keine Spende,
|
|
keine Karte. Ein Hinweis darauf wäre im Stream zu sehen. */
|
|
.obs-fehler {
|
|
position: fixed; left: 16px; top: 16px;
|
|
padding: 10px 14px;
|
|
border-radius: 10px;
|
|
background: rgba(140, 20, 30, .9);
|
|
color: #fff;
|
|
font-size: 14px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
|
|
|
|
<script src="assets/js/spendenkarte.js?v=202610072238" defer></script>
|
|
<script src="assets/js/tafel.js?v=202610072238" defer></script>
|
|
</body>
|
|
</html>
|