Filipe, 30.09.2026: „wenn wir bei highlights videos rein setzen will
ich nicht mehr dass wir sie freigeben muessen, sobald die reingesetzt
wurden sollen die sofort zu sehen sein."
=====================================================================
WAS ICH NICHT GETAN HABE, UND WARUM NICHT
=====================================================================
Die naheliegende Loesung waere gewesen, `highlight` aus
`TREFF_FREIGABE_BRETTER` zu streichen. Das waere falsch: Auf diesem
Brett laedt auch die COMMUNITY hoch -- Clips, Bilder, Fanart. Im
Quelltext steht woertlich daneben:
„Zwei Schloesser, weil hier fremde Inhalte hochgeladen werden --
Urheberrecht und Anstand sind nichts, was man nachtraeglich
klaert."
Filipe meint nicht das. Er meint: „wenn WIR videos rein setzen".
=====================================================================
DIE UNTERSCHEIDUNG STAND SCHON IM HAUS -- nur nicht im Code
=====================================================================
Derselbe Quelltext sagt ueber die zwei Freigabe-Bretter
Verschiedenes:
ansteht -> der SCHALTER „Im Treff zeigen". Das Team entscheidet
JE TERMIN, ob die Community ihn sieht.
highlight -> der Urheberrechts- und Anstandsfilter.
Ein Filter fragt „hat das jemand angesehen?". Wenn der, der ihn
bedienen darf, den Eintrag SELBST anlegt, ist die Antwort ja. Genau
diese Begruendung steht seit dem Uebernehmen aus dem Katalog im
Haus: „Eine zweite daneben waere keine Sicherheit, sondern ein
Klick."
Ein Schalter dagegen ist eine Entscheidung je Fall. Termine bleiben
deshalb unberuehrt -- sonst stuende jeder interne Termin sofort im
Treff, und danach hat niemand gefragt.
Neu: `FREIGABE_IST_FILTER` und `sofortFreigeben()` in
workspace-treff.js. DIE BEDINGUNG FRAGT DIE ROLLE, NICHT DEN WEG --
waere der Weg gefragt, waere aus dem Filter ein Loch geworden, sobald
jemand einen zweiten Weg baut. Ein Community-Mitglied ab „Stamm"
darf weiterhin einstellen; sein Eintrag wartet auf das Team.
Gerufen an ZWEI Stellen: beim Videoweg und beim Anlegen von Hand.
Beide hatten es bisher nicht.
=====================================================================
DIE VORHANDENE FREIGABEPRUEFUNG BEWEIST DAS NICHT
=====================================================================
Sie blieb nach der Aenderung gruen -- und das zu Recht: Sie legt ihre
Eintraege unmittelbar in der Datenbank an und prueft damit den
Mechanismus, nicht den Weg. Haette ich mich darauf verlassen, waere
eine Aenderung ausgeliefert worden, fuer die keine Zeile spricht.
pruef-treff (+5): DogFather legt ueber den echten Weg an -> die
Community sieht es SOFORT. Ein TERMIN bleibt verborgen. Die Regel
gibt fuer eine Rolle von aussen NICHT frei und fuer Termine
ueberhaupt nicht.
pruef-video (+3): Der Videoweg hat seinen eigenen Aufruf -- genau
dort wird einer vergessen. Geprueft wird die Freigabezeile selbst,
samt Gegenprobe „freigegeben ist nur, was auch angelegt wurde".
Meinen Abschnitt hatte ich erst HINTER das Abschalten des
nachgebauten TikTok-Dienstes gehaengt -- der Kopf der Datei warnt
woertlich davor („das Abschalten steht ganz hinten"). Gelesen habe
ich ihn, als es rot wurde.
UND `pruef-struktur` HAT MEINE EIGENE NEUE ZEILE GEFANGEN: Sie bildete
das Datum aus UTC statt Ortszeit -- zwischen Mitternacht und zwei Uhr
waere es der falsche Tag gewesen. Behoben mit `tagLokal()`, Minuten
nach dem Schreiben.
Gemessen: pruef-treff 85/0 (war 80), pruef-video 74/0 (war 71),
pruef-highlights 31/0, pruef-bereiche-lesend 37/0,
pruef-treff-werkzeuge 73/0, pruef-alle-sehen-es 43/0,
pruef-community-sicht 10/0, pruef-wege-nach-draussen 67/0,
pruef-struktur 44/0.
Co-Authored-By: Claude Opus 5 <[email protected]>
398 lines
19 KiB
HTML
398 lines
19 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Kalender · Spicy & Dogi</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<!-- Die Farbe der Fensterleiste, wenn der Workspace als App laeuft.
|
||
Stand auf #0674b9 (kraeftiges Blau) und stach damit als einziger
|
||
heller Balken ueber einer durchweg dunklen Seite. Jetzt derselbe
|
||
Ton wie die Kopfleiste darunter (#06090f), damit Leiste und Seite
|
||
eine Flaeche sind statt zweier. -->
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609301254" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609301254" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609301254" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609301254" />
|
||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609301254" />
|
||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609301254" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609301254" />
|
||
<!-- haus.css MUSS die letzte Stilvorlage sein (10.09.2026).
|
||
Auf der Agenturadresse ist sie leer -- das Haus hier IST der
|
||
Grundzustand. Auf der Adresse von Team Dogi biegt der Server
|
||
genau diesen Dateinamen auf crew-haus.css um, und die Seite
|
||
kommt schon beim ERSTEN Abruf in Lila und Babyblau an --
|
||
ohne Umfaerben im Browser, ohne Flackern. -->
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202609301254" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<!-- Der Schleier ueber der Buehne (Casper und HasiDog in den unteren
|
||
Ecken, siehe start.css). Ein eigenes Element statt eines dritten
|
||
Pseudo-Elements -- body hat nur ::before und ::after. -->
|
||
<div class="schleier" aria-hidden="true"></div>
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Creator Workspace</a> · Kalender</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt inhalt--breit">
|
||
|
||
<!-- Der Zeitraum ist die Überschrift, nicht eine Beschriftung neben
|
||
Knöpfen: Man liest zuerst, WO man ist, und bewegt sich dann. -->
|
||
<section class="k-kopf">
|
||
<div class="k-kopf__titel">
|
||
<h1 class="k-zeitraum" id="zeitraum">…</h1>
|
||
<p class="k-kopf__unter" id="zeitraum-unter"></p>
|
||
</div>
|
||
<div class="k-nav">
|
||
<button type="button" class="knopf-still k-pfeil" id="zurueck-zeit" aria-label="Vorheriger Zeitraum">‹</button>
|
||
<button type="button" class="knopf-still" id="heute-knopf">Heute</button>
|
||
<button type="button" class="knopf-still k-pfeil" id="vor-zeit" aria-label="Nächster Zeitraum">›</button>
|
||
<button type="button" class="knopf knopf--klein" id="neu-oeffnen">Neuer Termin</button>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Zwei Reihen, die zwei VERSCHIEDENE Fragen beantworten – und deshalb
|
||
beschriftet sind:
|
||
"Als Nächstes" blickt ab heute nach vorn und ändert sich NICHT
|
||
beim Blättern
|
||
"Im September" beschreibt den Monat, den man gerade ansieht
|
||
Ohne Überschriften wären zwei gleich aussehende Reihen verwirrend. -->
|
||
<!-- ==== ALLES DREI IN EINER KACHEL (08.09.2026) =================
|
||
Filipe: "ich will dass das alles in einer geilen kachel ist wie
|
||
die kacheln in der start seite. und noch geiler."
|
||
|
||
Die drei Abschnitte -- was als Naechstes ansteht, was in diesem
|
||
Monat liegt, was von allein weiterlaeuft -- standen frei auf dem
|
||
Hintergrundbild. Drei Ueberschriften ohne Fassung lesen sich als
|
||
drei lose Listen; zusammen sind sie EINE Auskunft: was ausser den
|
||
Terminen im Kalender sonst noch kommt.
|
||
|
||
Der Umschlag traegt die Kacheloptik der Startseite (Fase, Raster,
|
||
Innenschatten), die drei Abschnitte darin nur noch ihre
|
||
Ueberschrift. Faellt alles drei weg, verschwindet auch die
|
||
Kachel -- siehe `:has()` in kalender.css. -->
|
||
<section class="k-anlasskachel">
|
||
|
||
<section class="k-leiste" id="saison-block" hidden>
|
||
<p class="feldschild">Als Nächstes</p>
|
||
<div class="k-anlassreihe" id="saison"></div>
|
||
</section>
|
||
|
||
<section class="k-leiste" id="monat-block" hidden>
|
||
<p class="feldschild" id="monat-titel">Im Monat</p>
|
||
<div class="k-anlassreihe" id="monatsanlaesse"></div>
|
||
</section>
|
||
|
||
<!-- Die laufenden Wiederholungen. Steht bewusst über dem Kalender und
|
||
nicht in einem Menü versteckt: Was von allein weiterläuft, muss
|
||
man sehen können, sonst weiß nach drei Monaten niemand mehr,
|
||
warum jeden Dienstag ein Call im Kalender steht. -->
|
||
<section class="k-leiste k-serien" id="serien-block" hidden>
|
||
<p class="feldschild">Läuft von allein</p>
|
||
<div class="k-serienliste" id="serien"></div>
|
||
</section>
|
||
|
||
</section><!-- /.k-anlasskachel -->
|
||
|
||
<form class="neu" id="neu" hidden>
|
||
<div class="neu__zeile">
|
||
<label class="feld-schild" for="f-titel">Worum geht es?</label>
|
||
<input id="f-titel" maxlength="160" placeholder="z. B. Wochen-Call mit Luna" required />
|
||
</div>
|
||
<div class="neu__raster">
|
||
<div>
|
||
<label class="feld-schild" for="f-art">Art</label>
|
||
<!-- NEUN ARTEN, IN ZWEI GRUPPEN (08.09.2026).
|
||
|
||
Die Gruppen sind nicht Deko: Die ersten drei sind INTERNE
|
||
Termine, die anderen sechs sind AUFTRITTE. Das ist der
|
||
Unterschied, nach dem man sucht ("ist das ein Arbeitstermin
|
||
oder ein Stream?"), und eine Liste aus neun gleichrangigen
|
||
Zeilen laesst ihn nicht erkennen. -->
|
||
<select id="f-art">
|
||
<optgroup label="Intern">
|
||
<option value="call" selected>Call</option>
|
||
<option value="termin">Termin</option>
|
||
<!-- ACHTUNG, ZWEI BEDEUTUNGEN (20.09.2026): `review` heisst
|
||
HIER eine Terminart (ein Gespraech, in dem man
|
||
zurueckschaut) -- NICHT der Aufgaben-/Dateistatus, der
|
||
seit heute "Zur Freigabe" heisst. Ich hatte das beim
|
||
Umbenennen selbst verwechselt. Derselbe Schluessel,
|
||
zwei Welten: Kalender = Termin, Brett = Zustand. -->
|
||
<option value="review">Review</option>
|
||
</optgroup>
|
||
<optgroup label="Auftritt">
|
||
<option value="bigmatch">BigMatch</option>
|
||
<option value="turnier">Turnier</option>
|
||
<option value="special">Special-Live</option>
|
||
<option value="collab">Collab</option>
|
||
<option value="raid">Raid-Train</option>
|
||
<option value="charity">Charity</option>
|
||
</optgroup>
|
||
</select>
|
||
</div>
|
||
<div>
|
||
<label class="feld-schild" for="f-beginn">Beginn</label>
|
||
<input id="f-beginn" type="datetime-local" required />
|
||
</div>
|
||
<div>
|
||
<label class="feld-schild" for="f-dauer">Dauer <span class="feld-schild__still">Minuten</span></label>
|
||
<input id="f-dauer" type="number" min="5" max="1440" step="5" value="30" />
|
||
</div>
|
||
<!-- Wiederholen. Die Auswahl wird erst beim Öffnen gefüllt, weil
|
||
ihre Beschriftungen vom gewählten Datum abhängen: "jeden
|
||
Dienstag", "jeden Monat am 2." – so muss niemand raten, was
|
||
ein Rhythmus im eigenen Fall bedeutet. -->
|
||
<div>
|
||
<label class="feld-schild" for="f-takt">Wiederholen</label>
|
||
<select id="f-takt">
|
||
<option value="">Einmalig</option>
|
||
</select>
|
||
</div>
|
||
<div id="feld-teilnehmer" hidden>
|
||
<label class="feld-schild" for="f-teilnehmer">Mit wem</label>
|
||
<select id="f-teilnehmer"><option value="">—</option></select>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- WER SONST NOCH DABEI IST (05.09.2026).
|
||
Wunsch: "ich will auch 2 leute markieren können mit denen der
|
||
call ist."
|
||
|
||
Einzelne Schalter statt eines <select multiple>: Das verliert
|
||
bei einem Fehlklick die ganze Auswahl und ist am Handy kaum zu
|
||
bedienen.
|
||
|
||
FÜR JEDE ROLLE, nicht nur für die Leitung (05.09.2026:
|
||
*"das soll für jeden verfügbar sein"*). Das ist ohne Risiko,
|
||
weil nicht die Oberfläche entscheidet, wen man auswählen darf,
|
||
sondern der Server: /api/personen liefert jeder Rolle nur die
|
||
zugeteilten Namen, und teilnehmerSetzen() lässt alles andere
|
||
still weg. Ein Creator sieht hier also seine Betreuer, keine
|
||
fremden Creator.
|
||
|
||
Die Klassen heißen k-dabei__* und stehen in kalender.css.
|
||
Vorher waren es die .wahl__*-Klassen aus dateien.css -- die
|
||
diese Seite gar nicht einbindet, weshalb die Namen ohne jeden
|
||
Abstand aneinanderklebten. -->
|
||
<div id="feld-dabei" hidden>
|
||
<p class="feld-schild">Wer ist noch dabei?</p>
|
||
<div class="k-dabei" id="dabei-wahl"></div>
|
||
<p class="leise" id="dabei-hinweis"></p>
|
||
</div>
|
||
|
||
<!-- Erscheint nur, wenn ein Rhythmus gewählt ist. Der Satz darunter
|
||
sagt in Worten, was gleich passiert – eine Regel, die man nicht
|
||
vorlesen kann, stellt man später nicht mehr richtig ab. -->
|
||
<div class="neu__zeile k-wdh" id="feld-wdh" hidden>
|
||
<div class="k-wdh__ende">
|
||
<label class="feld-schild" for="f-ende">Läuft bis
|
||
<span class="leise">(leer = bis du sie abstellst)</span></label>
|
||
<input id="f-ende" type="date" />
|
||
</div>
|
||
<p class="k-wdh__satz" id="wdh-satz" aria-live="polite"></p>
|
||
</div>
|
||
<div class="neu__zeile">
|
||
<label class="feld-schild" for="f-ort">Ort oder Link <span class="leise">(optional)</span></label>
|
||
<input id="f-ort" maxlength="400" placeholder="Discord, Meet-Link, Adresse …" />
|
||
</div>
|
||
<div class="neu__zeile">
|
||
<label class="feld-schild" for="f-text">Notiz <span class="leise">(optional)</span></label>
|
||
<textarea id="f-text" rows="2" maxlength="4000"></textarea>
|
||
</div>
|
||
<p class="fehler" id="neu-fehler" role="alert" aria-live="polite"></p>
|
||
<div class="neu__knoepfe">
|
||
<button type="submit" class="knopf knopf--klein" id="neu-speichern">Eintragen</button>
|
||
<button type="button" class="abmelden" id="neu-abbrechen">Abbrechen</button>
|
||
</div>
|
||
</form>
|
||
|
||
|
||
|
||
|
||
<!-- KALENDER ABONNIEREN (06.09.2026, Stufe 3.2 des Plans).
|
||
|
||
Steht unten und zugeklappt: Man richtet ihn EINMAL ein und sieht
|
||
ihn danach nie wieder an. Ein Kasten, der dauerhaft Platz nimmt,
|
||
obwohl er einmal im Leben gebraucht wird, drängt sich vor die
|
||
Termine – und um die geht es hier.
|
||
|
||
Warum es das überhaupt gibt: Der Workspace kann benachrichtigen,
|
||
aber er kann nicht verhindern, dass jemand einen Zahnarzttermin
|
||
auf denselben Dienstag legt. Das kann nur ein Kalender, der die
|
||
Termine dort hat, wo ohnehin nachgesehen wird. -->
|
||
<details class="k-abo" id="abo-block">
|
||
<summary class="k-abo__kopf">
|
||
<span class="k-abo__titel">In deinen eigenen Kalender holen</span>
|
||
<span class="k-abo__unter">Google, Apple, Outlook – einmal einrichten, dann läuft es</span>
|
||
</summary>
|
||
<div class="k-abo__inhalt">
|
||
<p class="k-abo__satz" id="abo-satz">
|
||
Du bekommst einen persönlichen Link. Wer ihn hat, sieht deine Termine –
|
||
gib ihn also nicht weiter. Falls doch: Du kannst ihn jederzeit ersetzen,
|
||
der alte ist dann sofort tot.
|
||
</p>
|
||
|
||
<div class="k-abo__zeile" id="abo-hat" hidden>
|
||
<input class="k-abo__feld" id="abo-link" readonly aria-label="Dein Kalender-Link" />
|
||
<button type="button" class="knopf knopf--klein" id="abo-kopieren">Kopieren</button>
|
||
</div>
|
||
|
||
<p class="k-abo__stand" id="abo-stand"></p>
|
||
|
||
<div class="k-abo__knoepfe">
|
||
<button type="button" class="knopf knopf--klein" id="abo-erzeugen">Link erzeugen</button>
|
||
<button type="button" class="abmelden" id="abo-neu" hidden>Neuen Link erzeugen</button>
|
||
<button type="button" class="abmelden abmelden--warnung" id="abo-aus" hidden>Abschalten</button>
|
||
</div>
|
||
|
||
<p class="k-abo__hilfe" id="abo-hilfe" hidden>
|
||
<strong>So trägst du ihn ein:</strong>
|
||
<span class="k-abo__weg">Google Kalender: links unten bei „Weitere Kalender“ auf das Plus,
|
||
dann „Per URL“ – Link einfügen – „Kalender hinzufügen“.</span>
|
||
<span class="k-abo__weg">iPhone: Einstellungen → Apps → Kalender → Accounts →
|
||
Account hinzufügen → Andere → Kalenderabo hinzufügen – Link einfügen.</span>
|
||
<span class="k-abo__weg">Outlook: Kalender → Kalender hinzufügen → Aus dem Internet abonnieren.</span>
|
||
<span class="k-abo__weg leise">Die Kalender holen neue Termine selbst ab – meist innerhalb
|
||
weniger Stunden, nicht sofort. Das legen Google und Apple fest, nicht wir.</span>
|
||
</p>
|
||
|
||
<p class="fehler" id="abo-fehler" role="alert" aria-live="polite"></p>
|
||
</div>
|
||
</details>
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- Vier Ansichten auf DENSELBEN Daten. Der Server liefert einen
|
||
Zeitraum, hier wird er nur unterschiedlich dargestellt – so kann
|
||
keine Ansicht etwas anderes zeigen als die andere. -->
|
||
<div class="k-werkzeuge">
|
||
<div class="k-ansichten" role="group" aria-label="Ansicht">
|
||
<button type="button" class="k-ansicht" data-ansicht="monat" aria-pressed="true">Monat</button>
|
||
<button type="button" class="k-ansicht" data-ansicht="woche" aria-pressed="false">Woche</button>
|
||
<button type="button" class="k-ansicht" data-ansicht="liste" aria-pressed="false">Liste</button>
|
||
<button type="button" class="k-ansicht" data-ansicht="zeitstrahl" aria-pressed="false">Zeitstrahl</button>
|
||
</div>
|
||
|
||
<!-- ==== BLÄTTERN, DIREKT ÜBER DEM KALENDER (09.09.2026) ==========
|
||
|
||
Filipe, mit Bildschirmfoto: "ich will dass genau da über dem
|
||
kalender auch noch buttons sind um den monat zu wechseln, tage
|
||
wechseln ... lass die neuen auch richtig geil aussehen, die
|
||
einen rot und die anderen grün von den neuen."
|
||
|
||
Die Pfeile gab es schon -- oben neben der Überschrift, einen
|
||
halben Bildschirm entfernt vom Raster, das sie bewegen. Wer
|
||
durch Monate blättert, sieht auf das Raster und nicht auf die
|
||
Überschrift; der Weg dorthin war jedes Mal ein Blicksprung.
|
||
|
||
WARUM SIE TROTZDEM BESCHRIFTET SIND und nicht nur ‹ › heißen:
|
||
Ein Pfeil sagt nicht, WIE WEIT er springt. In der Monatsansicht
|
||
ist ein Schritt ein Monat, in der Wochenansicht eine Woche, in
|
||
Liste und Zeitstrahl sechs Wochen. Genau das steht jetzt drauf
|
||
und wird beim Umschalten mitgeführt (kalender.js). -->
|
||
<div class="k-schritte" role="group" aria-label="Zeitraum wechseln">
|
||
<button type="button" class="k-schritt k-schritt--zurueck" id="schritt-zurueck">
|
||
<span class="k-schritt__pfeil" aria-hidden="true">‹</span>
|
||
<span class="k-schritt__text" id="schritt-zurueck-text">Monat zurück</span>
|
||
</button>
|
||
<button type="button" class="k-schritt k-schritt--heute" id="schritt-heute">Heute</button>
|
||
<button type="button" class="k-schritt k-schritt--vor" id="schritt-vor">
|
||
<span class="k-schritt__text" id="schritt-vor-text">Monat vor</span>
|
||
<span class="k-schritt__pfeil" aria-hidden="true">›</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="k-filter" id="filter"></div>
|
||
</div>
|
||
|
||
<div id="kalender" aria-busy="true"><p class="leise">Kalender wird geladen …</p></div>
|
||
|
||
<!-- Der Tagesdialog. Als echtes <dialog>: Esc schließt, der Tastaturfokus
|
||
bleibt drin, und der Rest der Seite ist für Vorleseprogramme still –
|
||
das alles bringt das Element mit, ohne dass es nachgebaut wird. -->
|
||
<!-- DIE FASSUNG UND DAS GLAS SIND ZWEI EBENEN (screen2, 09.09.2026).
|
||
Der <dialog> selbst traegt nur noch die Fase und den
|
||
Farbverlauf der Fassung; alles Sichtbare liegt in
|
||
`.k-dialog__glas` darin. Ohne diese zweite Ebene muesste die
|
||
Fassung ein `border` sein -- und ein Rand folgt dem Rechteck,
|
||
nicht der abgeschraegten Ecke. Dieselbe Bauart wie bei der
|
||
Zentrale und der Rollenkachel auf der Anmeldeseite. -->
|
||
<dialog id="tagdialog" class="k-dialog" aria-labelledby="tagdialog-titel">
|
||
<div class="k-dialog__glas">
|
||
<div class="k-dialog__kopf">
|
||
<div>
|
||
<strong id="tagdialog-titel" class="k-dialog__titel">…</strong>
|
||
<span id="tagdialog-unter" class="k-dialog__unter"></span>
|
||
</div>
|
||
<button type="button" class="knopf-still" id="tagdialog-zu" aria-label="Schließen">✕</button>
|
||
</div>
|
||
<div id="tagdialog-anlaesse" class="k-dialog__anlaesse"></div>
|
||
<div id="tagdialog-liste" class="k-dialog__liste"></div>
|
||
<div class="k-dialog__fuss">
|
||
<button type="button" class="knopf knopf--klein" id="tagdialog-neu">Hier eintragen</button>
|
||
<span class="k-dialog__tipp">Esc schließt</span>
|
||
</div>
|
||
</div><!-- /.k-dialog__glas -->
|
||
</dialog>
|
||
|
||
<!-- ====================================================================
|
||
DER WECKER (07.09.2026)
|
||
|
||
Filipe: "wie so ein wecker, den man in den eintraegen aktivieren
|
||
oder ausschalten kann ... auch mehrmals informiert."
|
||
|
||
Ein eigener Dialog und kein Aufklapp-Feld im Tagesfenster: Der
|
||
Wecker gehoert zu EINEM Termin, und im Tagesfenster stehen mehrere.
|
||
Ein Feld, das sich dort aufklappt, schiebt alles darunter weg --
|
||
man verliert die Zeile, die man gerade angesehen hat.
|
||
|
||
<dialog> statt eines selbstgebauten Kastens: Es bringt das
|
||
Wichtigste mit, was man sonst vergisst -- Escape schliesst, der
|
||
Tastaturfokus bleibt darin gefangen, und der Rest der Seite ist
|
||
fuer Vorleseprogramme abgemeldet. -->
|
||
<dialog class="tagdialog wecker-dialog" id="wecker-dialog" aria-labelledby="wecker-titel">
|
||
<div class="tagdialog__kopf">
|
||
<div>
|
||
<h2 class="titel" id="wecker-titel">Erinnerung</h2>
|
||
<p class="leise" id="wecker-wann"></p>
|
||
</div>
|
||
<button type="button" class="knopf-still" id="wecker-zu" aria-label="Schließen">✕</button>
|
||
</div>
|
||
<p class="leise wecker-hinweis">
|
||
Nur für dich. Andere Teilnehmer stellen ihre Erinnerungen selbst ein.
|
||
</p>
|
||
<div class="wecker-liste" id="wecker-liste"></div>
|
||
<p class="fehler" id="wecker-fehler" role="alert" aria-live="polite"></p>
|
||
</dialog>
|
||
|
||
</main>
|
||
|
||
<script src="assets/js/meldung.js?v=202609301254" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202609301254" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202609301254" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609301254" defer></script>
|
||
<script src="assets/js/installieren.js?v=202609301254" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609301254" defer></script>
|
||
<script src="assets/js/glocke.js?v=202609301254" defer></script>
|
||
<script src="assets/js/kalender.js?v=202609301254" defer></script>
|
||
<script src="assets/js/kalender-abo.js?v=202609301254" defer></script>
|
||
</body>
|
||
</html>
|