Punkt 7: Vier Koennensstufen in den Bereichslisten -- Anfaenger bis Meister
Wunsch Filipe: "ich will dass es in diesen kategorien ... kategorien
gibt wie jetzt, aber fuer anfaenger, fortgeschrittene, profis .... falls
es noch eine kategorie gibt fuege ruhig hinzu. informiere dich so krass
wie es nur geht ... und dan will ich dass du das perfekt alles aufbaust
mit aufgaben und so."
VIER STUFEN, UND DIE VIERTE IST NICHT AUSGEDACHT. In den gaengigen
Kompetenzmodellen (Dreyfus) folgt auf "kompetent" eine Stufe, auf der
es nicht mehr um das eigene Koennen geht, sondern darum, dass es OHNE
einen weiterlaeuft. Genau daran haengen die elf Punkte der obersten
Stufe: Vorlagen, eingewiesene Vertretung, abgelegte Loesungen.
Anfaenger was von Anfang an sitzen muss
Fortgeschritten Routine statt Zufall
Profi gemessen statt geschaetzt
Meister laeuft auch ohne dich
DIE STUFE HAENGT AM PUNKT, NICHT AN DER GRUPPE. Eine Gruppe ist ein
ABLAUF ("Vor der Sendung"), eine Stufe ist ein KOENNEN. Als Gruppen
gebaut waeren es zwoelf Abschnitte statt drei, und dieselbe Frage
stuende viermal da. So bleibt der Ablauf die Gliederung und die Stufe
ein Filter darueber.
DIE INHALTE SIND RECHERCHIERT, NICHT AUSGEDACHT. 47 vorhandene Punkte
haben eine Stufe bekommen, 28 neue sind dazugekommen -- ueberwiegend
auf Profi und Meister, weil der Bestand dort duenn war. Was jetzt
drinsteht und vorher fehlte, unter anderem:
* Bitrate hoechstens 70-80 % des GEMESSENEN Uploads; der Rest ist
der Puffer gegen verworfene Bilder.
* Keyframe-Abstand zwei Sekunden -- alles andere kann beim
Zuschauer zu Puffern oder gar nicht erst zum Abspielen fuehren.
* Tonfilter in der Reihenfolge Rauschunterdrueckung, Kompressor,
Rauschsperre: Ein Kompressor davor hebt das Rauschen mit an.
* Hardware-Encoder statt Prozessor -- der groesste Einzelgewinn an
Stabilitaet.
* Verworfene Bilder ABLESEN: Leitung und Kodierung sind zwei
verschiedene Fehler mit zwei verschiedenen Loesungen.
* Eskalationsleiter in vier Stufen (ansprechen, loeschen, Auszeit,
Sperre) -- vorher festgelegt, weil Ungleichbehandlung das ist, was
Communitys spaltet.
* Moderatoren EINGEWIESEN, nicht nur ernannt: Regeln schriftlich,
Eskalationsleiter, Werkzeuge einmal gezeigt.
* Privater Probelauf statt Programmvorschau -- erst der zeigt, was
beim Zuschauer ankommt.
Zahlen: LIVE 33 Punkte (11/10/8/4), Community 23 (7/7/5/4), Technik 19
(6/6/4/3). Jeder Punkt hat genau eine Stufe -- nachgemessen, nicht
angenommen.
DIE VORGABE IST "ALLE". Ein Filter, der beim Oeffnen schon etwas
versteckt, laesst einen Punkte suchen, die man gestern noch gesehen
hat. Die Gruppenzahlen zaehlen mit dem Filter mit; eine Gruppe, in der
nichts uebrigbleibt, sagt das in einem Satz statt leer dazustehen.
Die vier Stufenfarben sind GELIEHEN, nicht ausgesucht: dieselben, die
auf der Uebersicht schon "offen / dringend / laeuft / erledigt"
tragen. Wer die eine Seite kennt, liest die andere ohne Legende.
ZWEI EIGENE FEHLER UNTERWEGS:
1. NAMENSKOLLISION. Ich habe die Marke `fest-punkt__stufe` genannt --
den Namen gibt es dort laengst fuer den BEARBEITUNGSstand (Offen /
Passt so / Verbessern). Gemessen standen danach 66 Marken an 33
Punkten, und mein neues CSS faerbte den alten Behaelter mit. Heisst
jetzt `__koennen`. Zwei verschiedene Dinge unter einem Namen ist
derselbe Fehler wie zwei Regeln fuer dieselbe Sache, nur eine Ebene
frueher.
2. SCHRIFTGROESSE. Die Marke stand auf 0,66 rem = 10,56 px.
pruef-css-klassen hat es sofort gemeldet (44 statt 43 Stellen unter
11,5 px). Jetzt 0,72 rem.
Geprueft: pruef-checkliste, pruef-css-klassen, pruef-workspace-seiten,
pruef-schulung -- alle in Ordnung. Dazu alle drei Bereiche im Browser
durchgefiltert.
Quellen der Recherche: obsproject.com (NVENC/Encoder), dacast.com und
obs-versions.com (Bitrate, Keyframe, Tonfilter), switcherstudio.com
(Probelauf), help.twitch.tv und sendbird.com (Moderation,
Eskalation), jeffbullas.com (Einweisung von Moderatoren).
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -137,31 +137,43 @@ export const CONTENT_IDEEN = [
|
||||
|
||||
export const LIVE_PUNKTE = {
|
||||
vorbereitung: [
|
||||
{ schluessel: "ton-geprueft", titel: "Ton geprüft", text: "Eine Minute aufnehmen und anhören. Ton ist der Grund Nummer eins, warum Leute wieder gehen." },
|
||||
{ schluessel: "licht-sitzt", titel: "Licht sitzt", text: "Gesicht heller als der Hintergrund. Kein Fenster im Rücken." },
|
||||
{ schluessel: "verbindung-getestet", titel: "Verbindung getestet", text: "Upload-Geschwindigkeit geprüft, Kabel statt WLAN wenn möglich." },
|
||||
{ schluessel: "titel-und-thema-stehen", titel: "Titel und Thema stehen", text: "Wer den Titel liest, weiß, was ihn erwartet – und ob es für ihn ist." },
|
||||
{ schluessel: "ablauf-grob-im-kopf", titel: "Ablauf grob im Kopf", text: "Drei Blöcke reichen. Ein Stream ohne roten Faden fühlt sich für Zuschauer wie Warten an." },
|
||||
{ schluessel: "angekuendigt", titel: "Angekündigt", text: "Mindestens einmal vorher gesagt, dass es losgeht – Story, Post oder Nachricht." },
|
||||
{ schluessel: "moderation-geklaert", titel: "Moderation geklärt", text: "Weiß jemand Bescheid, der eingreifen kann, wenn es im Chat kippt?" },
|
||||
{ schluessel: "technik-ersatz-bereit", titel: "Technik-Ersatz bereit", text: "Was passiert, wenn der Stream abbricht? Handy als Notlösung bereitlegen." },
|
||||
{ schluessel: "ton-geprueft", titel: "Ton geprüft", text: "Eine Minute aufnehmen und anhören. Ton ist der Grund Nummer eins, warum Leute wieder gehen.", stufe: "anfaenger" },
|
||||
{ schluessel: "licht-sitzt", titel: "Licht sitzt", text: "Gesicht heller als der Hintergrund. Kein Fenster im Rücken.", stufe: "anfaenger" },
|
||||
{ schluessel: "verbindung-getestet", titel: "Verbindung getestet", text: "Upload-Geschwindigkeit geprüft, Kabel statt WLAN wenn möglich.", stufe: "anfaenger" },
|
||||
{ schluessel: "titel-und-thema-stehen", titel: "Titel und Thema stehen", text: "Wer den Titel liest, weiß, was ihn erwartet – und ob es für ihn ist.", stufe: "anfaenger" },
|
||||
{ schluessel: "ablauf-grob-im-kopf", titel: "Ablauf grob im Kopf", text: "Drei Blöcke reichen. Ein Stream ohne roten Faden fühlt sich für Zuschauer wie Warten an.", stufe: "fort" },
|
||||
{ schluessel: "angekuendigt", titel: "Angekündigt", text: "Mindestens einmal vorher gesagt, dass es losgeht – Story, Post oder Nachricht.", stufe: "fort" },
|
||||
{ schluessel: "moderation-geklaert", titel: "Moderation geklärt", text: "Weiß jemand Bescheid, der eingreifen kann, wenn es im Chat kippt?", stufe: "fort" },
|
||||
{ schluessel: "technik-ersatz-bereit", titel: "Technik-Ersatz bereit", text: "Was passiert, wenn der Stream abbricht? Handy als Notlösung bereitlegen.", stufe: "fort" },
|
||||
{ schluessel: "upload-gemessen-bitrate-darunter", titel: "Upload gemessen, Bitrate darunter", text: "Vor der Sendung messen, nicht schaetzen. Video und Ton zusammen sollen hoechstens 70 bis 80 Prozent des gemessenen Uploads belegen -- der Rest ist der Puffer, der verworfene Bilder verhindert.", stufe: "profi" },
|
||||
{ schluessel: "keyframe-alle-zwei-sekunden", titel: "Keyframe alle zwei Sekunden", text: "Der Abstand, in dem ein volles Bild geschickt wird. Zwei Sekunden ist keine Geschmacksfrage: Alles andere kann bei Zuschauern zu Puffern oder gar nicht erst zum Abspielen fuehren.", stufe: "profi" },
|
||||
{ schluessel: "probelauf-privat-gestreamt", titel: "Probelauf privat gestreamt", text: "Nicht die Vorschau im Programm, sondern ein echter privater Stream. Erst der zeigt, was beim Zuschauer ankommt -- Ton, Bild, Verzoegerung, Verbindung.", stufe: "profi" },
|
||||
{ schluessel: "die-ersten-dreissig-sekunden-stehen", titel: "Die ersten dreissig Sekunden stehen", text: "Wortwoertlich vorbereitet. In dieser halben Minute entscheidet sich, ob jemand bleibt, und genau dort improvisiert man am schlechtesten.", stufe: "profi" },
|
||||
{ schluessel: "ausweichweg-laeuft-mit", titel: "Ausweichweg laeuft mit", text: "Zweites Geraet bereit und angemeldet, nicht nur daneben. Ein Ersatz, den man erst einrichten muss, ist im Moment des Ausfalls keiner.", stufe: "meister" },
|
||||
{ schluessel: "ablauf-als-vorlage-nicht-als-zettel", titel: "Ablauf als Vorlage, nicht als Zettel", text: "Derselbe Aufbau jedes Mal, als Vorlage gespeichert. Was jedes Mal neu erfunden wird, wird jedes Mal anders gut.", stufe: "meister" },
|
||||
{ schluessel: "ein-ziel-in-einer-zahl", titel: "Ein Ziel in einer Zahl", text: "Vorher festlegen, woran diese Sendung gemessen wird -- Verweildauer, Wiederkehrer, Kommentare. Ohne Zahl vorher ist die Auswertung danach eine Meinung.", stufe: "meister" },
|
||||
],
|
||||
mitschrift: [
|
||||
{ schluessel: "guter-moment-aufheben", titel: "Guter Moment – aufheben", text: "Etwas ist gut gelaufen. Kurz notieren, woran es lag – daraus wird später ein Clip." },
|
||||
{ schluessel: "hier-sind-leute-gegangen", titel: "Hier sind Leute gegangen", text: "Zeitpunkt merken. Später nachsehen, was in dem Moment passiert ist." },
|
||||
{ schluessel: "frage-aus-dem-chat-die-wiederkommt", titel: "Frage aus dem Chat, die wiederkommt", text: "Wird oft gefragt? Dann gehört sie in ein eigenes Video." },
|
||||
{ schluessel: "technik-hat-gehakt", titel: "Technik hat gehakt", text: "Ton weg, Bild eingefroren, Verzögerung – aufschreiben, solange man es noch weiß." },
|
||||
{ schluessel: "unangenehme-situation-im-chat", titel: "Unangenehme Situation im Chat", text: "Was war es, wie ist es ausgegangen? Auch wenn es gut lief." },
|
||||
{ schluessel: "neue-zuschauer-aufgetaucht", titel: "Neue Zuschauer aufgetaucht", text: "Woher kamen sie? Wurde jemand begrüßt oder ging es unter?" },
|
||||
{ schluessel: "ich-wusste-nicht-weiter", titel: "Ich wusste nicht weiter", text: "Stelle merken, an der es gestockt hat. Dafür gibt es Hilfe." },
|
||||
{ schluessel: "guter-moment-aufheben", titel: "Guter Moment – aufheben", text: "Etwas ist gut gelaufen. Kurz notieren, woran es lag – daraus wird später ein Clip.", stufe: "anfaenger" },
|
||||
{ schluessel: "hier-sind-leute-gegangen", titel: "Hier sind Leute gegangen", text: "Zeitpunkt merken. Später nachsehen, was in dem Moment passiert ist.", stufe: "fort" },
|
||||
{ schluessel: "frage-aus-dem-chat-die-wiederkommt", titel: "Frage aus dem Chat, die wiederkommt", text: "Wird oft gefragt? Dann gehört sie in ein eigenes Video.", stufe: "fort" },
|
||||
{ schluessel: "technik-hat-gehakt", titel: "Technik hat gehakt", text: "Ton weg, Bild eingefroren, Verzögerung – aufschreiben, solange man es noch weiß.", stufe: "anfaenger" },
|
||||
{ schluessel: "unangenehme-situation-im-chat", titel: "Unangenehme Situation im Chat", text: "Was war es, wie ist es ausgegangen? Auch wenn es gut lief.", stufe: "fort" },
|
||||
{ schluessel: "neue-zuschauer-aufgetaucht", titel: "Neue Zuschauer aufgetaucht", text: "Woher kamen sie? Wurde jemand begrüßt oder ging es unter?", stufe: "fort" },
|
||||
{ schluessel: "ich-wusste-nicht-weiter", titel: "Ich wusste nicht weiter", text: "Stelle merken, an der es gestockt hat. Dafür gibt es Hilfe.", stufe: "anfaenger" },
|
||||
{ schluessel: "zeitstempel-statt-gefuehl", titel: "Zeitstempel statt Gefuehl", text: "Die Minute notieren, nicht 'irgendwann in der Mitte'. Nur mit der Minute findet man die Stelle in der Aufzeichnung wieder.", stufe: "profi" },
|
||||
{ schluessel: "chatverlauf-gesichert", titel: "Chatverlauf gesichert", text: "Vor dem Schliessen speichern. Er ist die einzige Quelle dafuer, was wirklich gesagt wurde -- und bei einem Vorfall die einzige, die zaehlt.", stufe: "profi" },
|
||||
],
|
||||
auswertung: [
|
||||
{ schluessel: "was-hat-diesmal-getragen", titel: "Was hat diesmal getragen?", text: "Ein Ding. Nicht drei. Das eine, das man wiederholen will." },
|
||||
{ schluessel: "was-war-zaeh", titel: "Was war zäh?", text: "Ehrlich sein. Die zähen Stellen sind die, an denen man wächst." },
|
||||
{ schluessel: "zahlen-im-vergleich", titel: "Zahlen im Vergleich", text: "Zuschauer, Verweildauer, Kommentare – gegen das letzte Mal, nicht gegen andere." },
|
||||
{ schluessel: "clips-gesichert", titel: "Clips gesichert", text: "Die guten Momente rausgeschnitten und abgelegt, solange man sie noch findet." },
|
||||
{ schluessel: "eine-sache-fuer-naechstes-mal", titel: "Eine Sache für nächstes Mal", text: "Genau eine. Wer sich fünf Dinge vornimmt, macht keins davon." },
|
||||
{ schluessel: "braucht-besprechung", titel: "Braucht Besprechung", text: "Etwas, das man nicht allein lösen kann – geht an die Betreuung." },
|
||||
{ schluessel: "was-hat-diesmal-getragen", titel: "Was hat diesmal getragen?", text: "Ein Ding. Nicht drei. Das eine, das man wiederholen will.", stufe: "anfaenger" },
|
||||
{ schluessel: "was-war-zaeh", titel: "Was war zäh?", text: "Ehrlich sein. Die zähen Stellen sind die, an denen man wächst.", stufe: "anfaenger" },
|
||||
{ schluessel: "zahlen-im-vergleich", titel: "Zahlen im Vergleich", text: "Zuschauer, Verweildauer, Kommentare – gegen das letzte Mal, nicht gegen andere.", stufe: "fort" },
|
||||
{ schluessel: "clips-gesichert", titel: "Clips gesichert", text: "Die guten Momente rausgeschnitten und abgelegt, solange man sie noch findet.", stufe: "fort" },
|
||||
{ schluessel: "eine-sache-fuer-naechstes-mal", titel: "Eine Sache für nächstes Mal", text: "Genau eine. Wer sich fünf Dinge vornimmt, macht keins davon.", stufe: "anfaenger" },
|
||||
{ schluessel: "braucht-besprechung", titel: "Braucht Besprechung", text: "Etwas, das man nicht allein lösen kann – geht an die Betreuung.", stufe: "anfaenger" },
|
||||
{ schluessel: "verweildauer-gegen-die-letzten-fuenf", titel: "Verweildauer gegen die letzten fuenf", text: "Nicht gegen das letzte Mal -- ein einzelner Vergleich ist Zufall. Fuenf Sendungen zeigen eine Richtung.", stufe: "profi" },
|
||||
{ schluessel: "ein-versuch-eine-aenderung", titel: "Ein Versuch, eine Aenderung", text: "Wer Titel, Uhrzeit und Aufbau zugleich aendert, weiss hinterher nicht, was gewirkt hat. Eine Sache je Sendung.", stufe: "profi" },
|
||||
{ schluessel: "erkenntnis-zurueck-in-die-vorlage", titel: "Erkenntnis zurueck in die Vorlage", text: "Was sich bewaehrt hat, wird Teil des Ablaufs -- sonst muss man es sich jedes Mal neu merken.", stufe: "meister" },
|
||||
],
|
||||
};
|
||||
|
||||
@@ -183,24 +195,33 @@ export const LIVE_PUNKTE = {
|
||||
|
||||
export const COMMUNITY_PUNKTE = {
|
||||
moderation: [
|
||||
{ schluessel: "regeln-stehen-sichtbar", titel: "Regeln stehen sichtbar", text: "Kurz, verstaendlich, an einer Stelle, die man findet. Drei Saetze reichen." },
|
||||
{ schluessel: "jemand-kann-eingreifen", titel: "Jemand kann eingreifen", text: "Waehrend des Streams ist eine zweite Person mit Rechten da -- oder es ist klar, dass keine da ist." },
|
||||
{ schluessel: "wortfilter-eingerichtet", titel: "Wortfilter eingerichtet", text: "Die offensichtlichen Sachen automatisch weg, damit man sich um den Rest kuemmern kann." },
|
||||
{ schluessel: "was-passiert-bei-einem-verstoss", titel: "Was passiert bei einem Verstoss?", text: "Verwarnen, stummschalten, sperren -- vorher entscheiden, nicht im Moment." },
|
||||
{ schluessel: "umgang-mit-minderjaehrigen", titel: "Umgang mit Minderjaehrigen", text: "Wie erkennt man sie, und was gilt dann? Das ist keine Ermessensfrage." },
|
||||
{ schluessel: "regeln-stehen-sichtbar", titel: "Regeln stehen sichtbar", text: "Kurz, verstaendlich, an einer Stelle, die man findet. Drei Saetze reichen.", stufe: "anfaenger" },
|
||||
{ schluessel: "jemand-kann-eingreifen", titel: "Jemand kann eingreifen", text: "Waehrend des Streams ist eine zweite Person mit Rechten da -- oder es ist klar, dass keine da ist.", stufe: "anfaenger" },
|
||||
{ schluessel: "wortfilter-eingerichtet", titel: "Wortfilter eingerichtet", text: "Die offensichtlichen Sachen automatisch weg, damit man sich um den Rest kuemmern kann.", stufe: "fort" },
|
||||
{ schluessel: "was-passiert-bei-einem-verstoss", titel: "Was passiert bei einem Verstoss?", text: "Verwarnen, stummschalten, sperren -- vorher entscheiden, nicht im Moment.", stufe: "fort" },
|
||||
{ schluessel: "umgang-mit-minderjaehrigen", titel: "Umgang mit Minderjaehrigen", text: "Wie erkennt man sie, und was gilt dann? Das ist keine Ermessensfrage.", stufe: "anfaenger" },
|
||||
{ schluessel: "eskalationsleiter-steht-schriftlich", titel: "Eskalationsleiter steht schriftlich", text: "Vier Stufen, in dieser Reihenfolge: ansprechen, Nachricht loeschen, kurze Auszeit, Sperre. Wer sie erst im Moment festlegt, entscheidet ungleich -- und Ungleichbehandlung ist das, was Communitys spaltet.", stufe: "profi" },
|
||||
{ schluessel: "automatikfilter-stufe-begruendet", titel: "Automatikfilter: Stufe gewaehlt und begruendet", text: "Die Stufe des automatischen Filters ist eine Abwaegung, keine Voreinstellung: zu scharf loescht Harmloses, zu lasch laesst durch. Die Wahl gehoert aufgeschrieben.", stufe: "profi" },
|
||||
{ schluessel: "wer-eskaliert-an-wen", titel: "Wer eskaliert an wen", text: "Ab wann entscheidet die Moderation nicht mehr selbst? Bei Bedrohung, Rechtsverstoss oder Unsicherheit geht es weiter -- und es muss klar sein, an wen.", stufe: "profi" },
|
||||
{ schluessel: "moderatoren-eingewiesen-nicht-nur-ernannt", titel: "Moderatoren eingewiesen, nicht nur ernannt", text: "Rechte vergeben ist der kleinere Teil. Dazu gehoeren: die Regeln schriftlich, die Eskalationsleiter, die Werkzeuge einmal gezeigt.", stufe: "meister" },
|
||||
{ schluessel: "ernstfall-einmal-geprobt", titel: "Ernstfall einmal geprobt", text: "Einmal durchspielen, wer was tut, wenn es kippt. Im Ernstfall zum ersten Mal darueber nachzudenken ist zu spaet.", stufe: "meister" },
|
||||
],
|
||||
aktion: [
|
||||
{ schluessel: "neue-begruessen", titel: "Neue begruessen", text: "Wer zum ersten Mal da ist, wird angesprochen. Kostet zwei Sekunden und entscheidet, ob jemand bleibt." },
|
||||
{ schluessel: "stammleute-erkennen", titel: "Stammleute erkennen", text: "Namen merken oder notieren. Wiedererkannt zu werden ist der halbe Grund wiederzukommen." },
|
||||
{ schluessel: "etwas-geben-das-nur-hier-gibt", titel: "Etwas geben, das nur hier gibt", text: "Ein Insider, ein Ritual, ein Spitzname. Community entsteht aus Gemeinsamem." },
|
||||
{ schluessel: "ausserhalb-des-streams-antworten", titel: "Ausserhalb des Streams antworten", text: "Kommentare und Nachrichten -- die Community lebt auch zwischen den Sendungen." },
|
||||
{ schluessel: "neue-begruessen", titel: "Neue begruessen", text: "Wer zum ersten Mal da ist, wird angesprochen. Kostet zwei Sekunden und entscheidet, ob jemand bleibt.", stufe: "anfaenger" },
|
||||
{ schluessel: "stammleute-erkennen", titel: "Stammleute erkennen", text: "Namen merken oder notieren. Wiedererkannt zu werden ist der halbe Grund wiederzukommen.", stufe: "fort" },
|
||||
{ schluessel: "etwas-geben-das-nur-hier-gibt", titel: "Etwas geben, das nur hier gibt", text: "Ein Insider, ein Ritual, ein Spitzname. Community entsteht aus Gemeinsamem.", stufe: "fort" },
|
||||
{ schluessel: "ausserhalb-des-streams-antworten", titel: "Ausserhalb des Streams antworten", text: "Kommentare und Nachrichten -- die Community lebt auch zwischen den Sendungen.", stufe: "fort" },
|
||||
{ schluessel: "wiederkehrende-rubrik-mit-festem-termin", titel: "Wiederkehrende Rubrik mit festem Termin", text: "Etwas, das immer am selben Tag stattfindet. Ein Termin, auf den man sich freuen kann, bindet staerker als guter Einzelinhalt.", stufe: "profi" },
|
||||
{ schluessel: "uebergabe-an-einen-zweiten-geregelt", titel: "Uebergabe an einen Zweiten geregelt", text: "Was passiert mit der Community, wenn man zwei Wochen ausfaellt? Wer nicht ersetzbar ist, kann nicht krank werden.", stufe: "meister" },
|
||||
],
|
||||
konflikt: [
|
||||
{ schluessel: "ruhig-bleiben-und-nicht-oeffentlich-stre", titel: "Ruhig bleiben und nicht oeffentlich streiten", text: "Im Chat gewinnt niemand. Kurz ansagen, dann privat klaeren." },
|
||||
{ schluessel: "was-ist-genau-passiert", titel: "Was ist genau passiert?", text: "Zeitpunkt, Beteiligte, Wortlaut. Ohne das ist jede Entscheidung angreifbar." },
|
||||
{ schluessel: "beweise-sichern", titel: "Beweise sichern", text: "Bildschirmfoto oder Ausschnitt, solange es noch da ist. Chats verschwinden." },
|
||||
{ schluessel: "betreuung-einbeziehen", titel: "Betreuung einbeziehen", text: "Bei allem, was groesser ist als ein blöder Kommentar. Dafuer ist sie da." },
|
||||
{ schluessel: "danach-was-hat-gefehlt", titel: "Danach: was hat gefehlt?", text: "Regel unklar, niemand zum Eingreifen da, zu spaet gemerkt -- daraus wird der naechste Punkt oben." },
|
||||
{ schluessel: "ruhig-bleiben-und-nicht-oeffentlich-stre", titel: "Ruhig bleiben und nicht oeffentlich streiten", text: "Im Chat gewinnt niemand. Kurz ansagen, dann privat klaeren.", stufe: "anfaenger" },
|
||||
{ schluessel: "was-ist-genau-passiert", titel: "Was ist genau passiert?", text: "Zeitpunkt, Beteiligte, Wortlaut. Ohne das ist jede Entscheidung angreifbar.", stufe: "anfaenger" },
|
||||
{ schluessel: "beweise-sichern", titel: "Beweise sichern", text: "Bildschirmfoto oder Ausschnitt, solange es noch da ist. Chats verschwinden.", stufe: "fort" },
|
||||
{ schluessel: "betreuung-einbeziehen", titel: "Betreuung einbeziehen", text: "Bei allem, was groesser ist als ein blöder Kommentar. Dafuer ist sie da.", stufe: "anfaenger" },
|
||||
{ schluessel: "danach-was-hat-gefehlt", titel: "Danach: was hat gefehlt?", text: "Regel unklar, niemand zum Eingreifen da, zu spaet gemerkt -- daraus wird der naechste Punkt oben.", stufe: "fort" },
|
||||
{ schluessel: "entscheidung-dokumentiert", titel: "Entscheidung dokumentiert, nicht nur getroffen", text: "Wer, wann, warum, welche Stufe. Beim zweiten Mal mit derselben Person ist das der Unterschied zwischen 'wir haben da was' und 'ich glaube'.", stufe: "profi" },
|
||||
{ schluessel: "regel-nachgezogen", titel: "Regel nachgezogen, damit es nicht wiederkommt", text: "Ein Vorfall, der von keiner Regel gedeckt war, ist eine Luecke -- kein Einzelfall. Die Regel wird ergaenzt, nicht der Fall vergessen.", stufe: "meister" },
|
||||
],
|
||||
};
|
||||
|
||||
@@ -215,22 +236,29 @@ export const COMMUNITY_PUNKTE = {
|
||||
|
||||
export const TECHNIK_PUNKTE = {
|
||||
setup: [
|
||||
{ schluessel: "mikrofon-richtig-eingestellt", titel: "Mikrofon richtig eingestellt", text: "Nicht uebersteuert, nicht zu leise, kein Rauschen. Einmal aufnehmen und anhoeren." },
|
||||
{ schluessel: "kamera-scharf-und-gut-belichtet", titel: "Kamera scharf und gut belichtet", text: "Gesicht heller als der Hintergrund. Automatik oft abschalten -- sie pumpt." },
|
||||
{ schluessel: "szenen-im-streaming-programm-angelegt", titel: "Szenen im Streaming-Programm angelegt", text: "Start, Vollbild, Pause, Ende. Wer waehrend der Sendung baut, sendet Chaos." },
|
||||
{ schluessel: "bitrate-zur-leitung-passend", titel: "Bitrate zur Leitung passend", text: "Lieber stabil und etwas weicher als scharf mit Aussetzern." },
|
||||
{ schluessel: "alles-einmal-komplett-getestet", titel: "Alles einmal komplett getestet", text: "Eine Probesendung von fuenf Minuten, aufgezeichnet und angesehen." },
|
||||
{ schluessel: "mikrofon-richtig-eingestellt", titel: "Mikrofon richtig eingestellt", text: "Nicht uebersteuert, nicht zu leise, kein Rauschen. Einmal aufnehmen und anhoeren.", stufe: "anfaenger" },
|
||||
{ schluessel: "kamera-scharf-und-gut-belichtet", titel: "Kamera scharf und gut belichtet", text: "Gesicht heller als der Hintergrund. Automatik oft abschalten -- sie pumpt.", stufe: "anfaenger" },
|
||||
{ schluessel: "szenen-im-streaming-programm-angelegt", titel: "Szenen im Streaming-Programm angelegt", text: "Start, Vollbild, Pause, Ende. Wer waehrend der Sendung baut, sendet Chaos.", stufe: "fort" },
|
||||
{ schluessel: "bitrate-zur-leitung-passend", titel: "Bitrate zur Leitung passend", text: "Lieber stabil und etwas weicher als scharf mit Aussetzern.", stufe: "fort" },
|
||||
{ schluessel: "alles-einmal-komplett-getestet", titel: "Alles einmal komplett getestet", text: "Eine Probesendung von fuenf Minuten, aufgezeichnet und angesehen.", stufe: "anfaenger" },
|
||||
{ schluessel: "tonfilter-in-der-richtigen-reihenfolge", titel: "Tonfilter in der richtigen Reihenfolge", text: "Erst Rauschunterdrueckung, dann Kompressor, dann Rauschsperre. Die Reihenfolge ist nicht beliebig: Ein Kompressor vor der Rauschunterdrueckung hebt das Rauschen mit an.", stufe: "profi" },
|
||||
{ schluessel: "hardware-encoder-statt-prozessor", titel: "Hardware-Encoder statt Prozessor", text: "Wenn die Grafikkarte einen eigenen Encoder hat, uebernimmt der das Kodieren -- der Prozessor bleibt frei fuer alles andere. Das ist der groesste Einzelgewinn an Stabilitaet.", stufe: "profi" },
|
||||
{ schluessel: "szenen-und-filter-gesichert", titel: "Szenen und Filter gesichert", text: "Die ganze Einrichtung als Sammlung exportiert und abgelegt. Nach einem Rechnerwechsel ist das der Unterschied zwischen zehn Minuten und einem Abend.", stufe: "meister" },
|
||||
],
|
||||
problem: [
|
||||
{ schluessel: "ton-weg-oder-verzerrt", titel: "Ton weg oder verzerrt", text: "Wann genau, welches Geraet, was lief gleichzeitig? Ohne das findet es niemand." },
|
||||
{ schluessel: "bild-ruckelt-oder-friert-ein", titel: "Bild ruckelt oder friert ein", text: "Auslastung, Leitung, Aufloesung -- eins nach dem anderen ausschliessen." },
|
||||
{ schluessel: "stream-bricht-ab", titel: "Stream bricht ab", text: "Zeitpunkt notieren und im Protokoll des Programms nachsehen." },
|
||||
{ schluessel: "ton-und-bild-laufen-auseinander", titel: "Ton und Bild laufen auseinander", text: "Meist ein Puffer. Wann faellt es auf, sofort oder erst spaeter?" },
|
||||
{ schluessel: "ton-weg-oder-verzerrt", titel: "Ton weg oder verzerrt", text: "Wann genau, welches Geraet, was lief gleichzeitig? Ohne das findet es niemand.", stufe: "anfaenger" },
|
||||
{ schluessel: "bild-ruckelt-oder-friert-ein", titel: "Bild ruckelt oder friert ein", text: "Auslastung, Leitung, Aufloesung -- eins nach dem anderen ausschliessen.", stufe: "anfaenger" },
|
||||
{ schluessel: "stream-bricht-ab", titel: "Stream bricht ab", text: "Zeitpunkt notieren und im Protokoll des Programms nachsehen.", stufe: "fort" },
|
||||
{ schluessel: "ton-und-bild-laufen-auseinander", titel: "Ton und Bild laufen auseinander", text: "Meist ein Puffer. Wann faellt es auf, sofort oder erst spaeter?", stufe: "fort" },
|
||||
{ schluessel: "verworfene-bilder-abgelesen", titel: "Verworfene Bilder abgelesen, nicht geraten", text: "Das Programm zeigt, ob Bilder wegen der Leitung oder wegen des Kodierens verloren gehen. Das sind zwei verschiedene Fehler mit zwei verschiedenen Loesungen.", stufe: "profi" },
|
||||
{ schluessel: "ausfall-mit-datum-festgehalten", titel: "Ausfall mit Datum festgehalten", text: "Jeder Ausfall bekommt einen Eintrag. Erst die Liste zeigt, ob es dasselbe Problem ist oder drei verschiedene.", stufe: "meister" },
|
||||
],
|
||||
loesung: [
|
||||
{ schluessel: "was-hat-es-behoben", titel: "Was hat es behoben?", text: "Genau die eine Aenderung aufschreiben, nicht alles was probiert wurde." },
|
||||
{ schluessel: "kommt-es-wieder", titel: "Kommt es wieder?", text: "Beim naechsten Mal nachsehen. Einmal weg ist nicht geloest." },
|
||||
{ schluessel: "einstellung-gesichert", titel: "Einstellung gesichert", text: "Damit sie nach einem Update nicht wieder weg ist." },
|
||||
{ schluessel: "was-hat-es-behoben", titel: "Was hat es behoben?", text: "Genau die eine Aenderung aufschreiben, nicht alles was probiert wurde.", stufe: "anfaenger" },
|
||||
{ schluessel: "kommt-es-wieder", titel: "Kommt es wieder?", text: "Beim naechsten Mal nachsehen. Einmal weg ist nicht geloest.", stufe: "fort" },
|
||||
{ schluessel: "einstellung-gesichert", titel: "Einstellung gesichert", text: "Damit sie nach einem Update nicht wieder weg ist.", stufe: "fort" },
|
||||
{ schluessel: "genau-eine-aenderung-je-versuch", titel: "Genau eine Aenderung je Versuch", text: "Wer drei Dinge gleichzeitig aendert und es geht wieder, weiss nicht warum -- und beim naechsten Mal steht man wieder am Anfang.", stufe: "profi" },
|
||||
{ schluessel: "loesung-als-anleitung-abgelegt", titel: "Loesung als Anleitung abgelegt", text: "So aufgeschrieben, dass jemand anderes sie nachvollziehen kann. Eine Loesung im Kopf einer Person ist keine Loesung des Teams.", stufe: "meister" },
|
||||
],
|
||||
};
|
||||
export const CALL_LEITFAEDEN = [
|
||||
|
||||
@@ -6859,3 +6859,120 @@ body.start .k-leiste .feldschild::after {
|
||||
color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
/* =====================================================================
|
||||
DIE STUFENLEITER (screen7, 09.09.2026)
|
||||
|
||||
Filipe: "ich will dass es in diesen kategorien ... kategorien gibt
|
||||
wie jetzt, aber für anfänger, fortgeschrittene, profis .... und dan
|
||||
will ich dass du das perfekt alles aufbaust ... komplett
|
||||
profissionell und krasser."
|
||||
|
||||
VIER STUFEN, VIER FARBEN -- aber die Farben sind nicht ausgesucht,
|
||||
sondern geliehen: Es sind dieselben vier, die auf der Übersicht
|
||||
schon "offen / dringend / läuft / erledigt" tragen. Wer die eine
|
||||
Seite kennt, liest die andere ohne Legende. Eine fünfte Farbfamilie
|
||||
hätte niemandem geholfen.
|
||||
|
||||
Anfänger Babyblau — das Ruhige, der Anfang
|
||||
Fortgeschritten Lila — in Bewegung
|
||||
Profi Bernstein — es wird gemessen
|
||||
Meister Grün — es läuft auch ohne dich
|
||||
|
||||
AUFSTEIGEND HELLER, NICHT LAUTER. Die Stufen sind eine Leiter, keine
|
||||
Warnstufen -- "Meister" ist kein Alarm. Deshalb tragen alle vier
|
||||
dieselbe Deckkraft; nur der Farbton wechselt. Wer eine Stufe wählt,
|
||||
sieht sie kräftig, die anderen bleiben still.
|
||||
|
||||
DER GEWÄHLTE KNOPF IST GEDRÜCKT, NICHT NUR GEFÄRBT: eingelassener
|
||||
Schatten statt Erhebung. Auf einem Farbfeld allein könnte man
|
||||
("welcher ist jetzt an?") raten -- an einer Vertiefung nicht.
|
||||
===================================================================== */
|
||||
.stufenleiter {
|
||||
display: flex; flex-wrap: wrap; gap: 8px;
|
||||
margin: 2px 0 14px;
|
||||
}
|
||||
.stufenleiter__knopf {
|
||||
--sf: var(--akzent);
|
||||
display: inline-flex; align-items: baseline; gap: 8px;
|
||||
padding: 7px 13px;
|
||||
border: 0;
|
||||
clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
|
||||
background:
|
||||
linear-gradient(150deg, color-mix(in srgb, var(--sf) 13%, transparent), transparent 62%),
|
||||
linear-gradient(180deg, rgba(19, 26, 38, .92), rgba(10, 14, 22, .95));
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .07),
|
||||
inset 2px 0 0 color-mix(in srgb, var(--sf) 55%, transparent);
|
||||
color: var(--text-leise);
|
||||
font: inherit; font-size: .8rem; font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: color var(--tempo), box-shadow var(--tempo), background var(--tempo);
|
||||
}
|
||||
.stufenleiter__knopf[data-stufe="alle"] { --sf: #9fb3c8; }
|
||||
.stufenleiter__knopf[data-stufe="anfaenger"] { --sf: #7ec8f2; }
|
||||
.stufenleiter__knopf[data-stufe="fort"] { --sf: #a78bfa; }
|
||||
.stufenleiter__knopf[data-stufe="profi"] { --sf: #e8a94e; }
|
||||
.stufenleiter__knopf[data-stufe="meister"] { --sf: #5fc99a; }
|
||||
|
||||
.stufenleiter__knopf:hover {
|
||||
color: var(--text);
|
||||
box-shadow:
|
||||
inset 0 1px 0 rgba(255, 255, 255, .11),
|
||||
inset 3px 0 0 var(--sf);
|
||||
}
|
||||
/* Gewählt: die Fläche trägt die Farbe, und der Knopf sitzt tiefer. */
|
||||
.stufenleiter__knopf[aria-pressed="true"] {
|
||||
color: color-mix(in srgb, var(--sf) 80%, #ffffff);
|
||||
background:
|
||||
linear-gradient(150deg, color-mix(in srgb, var(--sf) 26%, transparent), transparent 70%),
|
||||
linear-gradient(180deg, rgba(12, 17, 26, .96), rgba(7, 10, 17, .97));
|
||||
box-shadow:
|
||||
inset 0 2px 5px -2px rgba(0, 0, 0, .9),
|
||||
inset 3px 0 0 var(--sf);
|
||||
}
|
||||
.stufenleiter__zahl {
|
||||
font-size: .72rem; font-variant-numeric: tabular-nums;
|
||||
color: var(--text-still);
|
||||
}
|
||||
.stufenleiter__knopf[aria-pressed="true"] .stufenleiter__zahl {
|
||||
color: color-mix(in srgb, var(--sf) 55%, #cfd9e6);
|
||||
}
|
||||
.stufenleiter__hilfe {
|
||||
margin: -8px 0 14px;
|
||||
font-size: .82rem; color: var(--text-leise);
|
||||
max-width: 68ch;
|
||||
}
|
||||
|
||||
/* Die Könnensstufe am einzelnen Punkt -- klein, damit sie den Titel
|
||||
nicht überstimmt. Sie ist eine Einordnung, keine Überschrift.
|
||||
|
||||
Sie heißt `__koennen` und nicht `__stufe`: Letzteres ist hier schon
|
||||
vergeben und trägt den BEARBEITUNGSstand (Offen / Passt so /
|
||||
Verbessern). Im ersten Anlauf hatte ich den Namen ein zweites Mal
|
||||
benutzt -- gemessen standen danach 66 Marken an 33 Punkten. */
|
||||
.fest-punkt__koennen {
|
||||
--sf: #9fb3c8;
|
||||
display: inline-block; margin-top: 6px;
|
||||
padding: 2px 8px;
|
||||
/* 0,72 rem = 11,52 px. Mit 0,66 waeren es 10,56 gewesen, und
|
||||
pruef-css-klassen hat es sofort gemeldet: 44 Stellen unter 11,5 px
|
||||
statt der Grundlinie 43. Eine Grundlinie, die man beim Hinzufuegen
|
||||
still ueberschreitet, ist keine. */
|
||||
font-size: .72rem; font-weight: 700;
|
||||
letter-spacing: .07em; text-transform: uppercase;
|
||||
color: color-mix(in srgb, var(--sf) 78%, #ffffff);
|
||||
background: color-mix(in srgb, var(--sf) 13%, transparent);
|
||||
box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sf) 34%, transparent);
|
||||
clip-path: polygon(5px 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%, 0 5px);
|
||||
}
|
||||
.fest-punkt__koennen[data-stufe="anfaenger"] { --sf: #7ec8f2; }
|
||||
.fest-punkt__koennen[data-stufe="fort"] { --sf: #a78bfa; }
|
||||
.fest-punkt__koennen[data-stufe="profi"] { --sf: #e8a94e; }
|
||||
.fest-punkt__koennen[data-stufe="meister"] { --sf: #5fc99a; }
|
||||
|
||||
.fest-gruppe__leer {
|
||||
margin: 4px 0 0; padding: 10px 12px;
|
||||
font-size: .85rem; color: var(--text-still);
|
||||
border: 1px dashed rgba(150, 186, 220, .22);
|
||||
}
|
||||
|
||||
@@ -44,6 +44,45 @@
|
||||
auf den ersten. */
|
||||
const gewaehlt = {};
|
||||
|
||||
/* =====================================================================
|
||||
DIE VIER KÖNNENSSTUFEN (09.09.2026, screen7)
|
||||
|
||||
Filipe: "ich will dass es in diesen kategorien ... kategorien gibt
|
||||
wie jetzt, aber für anfänger, fortgeschrittene, profis .... falls
|
||||
es noch eine kategorie gibt füge ruhig hinzu."
|
||||
|
||||
Die vierte ist dazugekommen und sie ist nicht ausgedacht: In den
|
||||
gängigen Kompetenzmodellen (Dreyfus) folgt auf "kompetent" noch
|
||||
eine Stufe, auf der es nicht mehr um das eigene Können geht,
|
||||
sondern darum, dass es OHNE einen weiterläuft -- Vorlagen,
|
||||
eingewiesene Vertretung, abgelegte Lösungen. Genau daran hängen
|
||||
hier die elf Punkte der obersten Stufe.
|
||||
|
||||
WARUM DIE STUFE AM PUNKT HÄNGT UND NICHT AN DER GRUPPE: Eine
|
||||
Gruppe ist ein ABLAUF ("Vor der Sendung"), eine Stufe ist ein
|
||||
KÖNNEN. Wer sie zu Gruppen machte, hätte zwölf Abschnitte statt
|
||||
drei und müsste dieselbe Frage viermal stellen. So bleibt der
|
||||
Ablauf die Gliederung, und die Stufe ist ein Filter darüber.
|
||||
|
||||
DIE VORGABE IST "ALLE". Ein Filter, der beim Öffnen schon etwas
|
||||
versteckt, lässt einen Punkte suchen, die man gestern noch
|
||||
gesehen hat. Wer filtert, hat es selbst getan und weiß es. */
|
||||
const STUFEN_LEITER = [
|
||||
{ schluessel: '', name: 'Alle' },
|
||||
{ schluessel: 'anfaenger', name: 'Anfänger',
|
||||
hilfe: 'Was von Anfang an sitzen muss. Ohne diese Punkte hilft alles Weitere nichts.' },
|
||||
{ schluessel: 'fort', name: 'Fortgeschritten',
|
||||
hilfe: 'Für alle, die regelmäßig senden. Hier entsteht Routine statt Zufall.' },
|
||||
{ schluessel: 'profi', name: 'Profi',
|
||||
hilfe: 'Gemessen statt geschätzt: konkrete Werte, Belege, ein Versuch nach dem anderen.' },
|
||||
{ schluessel: 'meister', name: 'Meister',
|
||||
hilfe: 'Was auch ohne dich weiterläuft — Vorlagen, Vertretung, abgelegte Lösungen.' },
|
||||
];
|
||||
|
||||
/* Welche Stufe gerade gefiltert ist, je Bereich. Wie die
|
||||
Klappzustände: Es soll beim Neuzeichnen nicht zurückspringen. */
|
||||
const stufenFilter = {};
|
||||
|
||||
window.checkliste = async function (behaelter, bereich) {
|
||||
if (!behaelter) return;
|
||||
let daten;
|
||||
@@ -111,6 +150,42 @@
|
||||
block.append(bilanz);
|
||||
}
|
||||
|
||||
/* ---- Die Stufenleiste ----
|
||||
Sie steht ZWISCHEN Bilanz und Gruppen: erst was los ist, dann
|
||||
womit man es eingrenzt, dann die Sache selbst. */
|
||||
const gefiltert = stufenFilter[bereich] || '';
|
||||
if (alle.some((p) => p.stufe)) {
|
||||
const leiter = el('div', 'stufenleiter');
|
||||
leiter.setAttribute('role', 'group');
|
||||
leiter.setAttribute('aria-label', 'Nach Könnensstufe filtern');
|
||||
for (const st of STUFEN_LEITER) {
|
||||
const n = st.schluessel
|
||||
? alle.filter((p) => p.stufe === st.schluessel).length
|
||||
: alle.length;
|
||||
/* EINE STUFE OHNE PUNKTE BEKOMMT KEINEN KNOPF. Ein Filter, der
|
||||
auf eine leere Liste führt, sieht aus wie ein Fehler. */
|
||||
if (!n) continue;
|
||||
const b = el('button', 'stufenleiter__knopf');
|
||||
b.type = 'button';
|
||||
b.dataset.stufe = st.schluessel || 'alle';
|
||||
b.setAttribute('aria-pressed', String(gefiltert === st.schluessel));
|
||||
if (st.hilfe) b.title = st.hilfe;
|
||||
b.append(el('span', 'stufenleiter__name', st.name));
|
||||
b.append(el('span', 'stufenleiter__zahl', String(n)));
|
||||
b.addEventListener('click', () => {
|
||||
stufenFilter[bereich] = gefiltert === st.schluessel ? '' : st.schluessel;
|
||||
window.checkliste(behaelter, bereich);
|
||||
});
|
||||
leiter.append(b);
|
||||
}
|
||||
block.append(leiter);
|
||||
/* Der Satz zur gewählten Stufe steht DA, nicht nur im Titel: Ein
|
||||
Hinweis, den man nur mit der Maus findet, gibt es auf dem Handy
|
||||
nicht. */
|
||||
const erklaerung = STUFEN_LEITER.find((x) => x.schluessel === gefiltert)?.hilfe;
|
||||
if (erklaerung) block.append(el('p', 'stufenleiter__hilfe', erklaerung));
|
||||
}
|
||||
|
||||
/* ---- Die Gruppen ---- */
|
||||
const aufgeklappt = standLesen(bereich);
|
||||
const markierte = []; /* Gruppen mit etwas zum Verbessern */
|
||||
@@ -133,7 +208,10 @@
|
||||
pfeil.setAttribute('aria-hidden', 'true');
|
||||
gk.append(pfeil);
|
||||
gk.append(el('h3', 'fest-gruppe__name', g.name));
|
||||
gk.append(el('span', 'fest-gruppe__zahl', String(g.punkte.length)));
|
||||
/* Die Zahl zeigt, was der Filter uebriglaesst -- sonst stuende
|
||||
"8" an einer Gruppe, in der drei Punkte sichtbar sind. */
|
||||
gk.append(el('span', 'fest-gruppe__zahl', String(
|
||||
(stufenFilter[bereich] ? g.punkte.filter((p) => p.stufe === stufenFilter[bereich]) : g.punkte).length)));
|
||||
|
||||
/* Das Merkzeichen am Gruppenkopf ist der Grund, warum zugeklappte
|
||||
Gruppen überhaupt vertretbar sind: Ohne es wäre eine Markierung
|
||||
@@ -150,9 +228,19 @@
|
||||
if (g.text) koerper.append(el('p', 'fest-gruppe__text', g.text));
|
||||
|
||||
const liste = el('div', 'fest-punkte');
|
||||
for (const p of g.punkte) {
|
||||
const sichtbar = gefiltert
|
||||
? g.punkte.filter((p) => p.stufe === gefiltert)
|
||||
: g.punkte;
|
||||
for (const p of sichtbar) {
|
||||
liste.append(punktBauen(p, daten, bereich, behaelter));
|
||||
}
|
||||
/* Eine Gruppe, in der der Filter nichts uebrig laesst, sagt das --
|
||||
statt leer dazustehen. Ein leerer Kasten liest sich wie ein
|
||||
Fehler, ein Satz wie eine Antwort. */
|
||||
if (!sichtbar.length) {
|
||||
liste.append(el('p', 'fest-gruppe__leer',
|
||||
'Auf dieser Stufe steht hier nichts an.'));
|
||||
}
|
||||
koerper.append(liste);
|
||||
abschnitt.append(koerper);
|
||||
|
||||
@@ -261,6 +349,24 @@
|
||||
}
|
||||
if (p.text) links.append(el('p', 'fest-punkt__beschreibung', p.text));
|
||||
if (p.format) links.append(el('span', 'fest-punkt__marke', p.format));
|
||||
/* Die Koennensstufe steht AM PUNKT, nicht nur im Filter. Sonst
|
||||
weiss man beim Blaettern durch "Alle" nicht, warum ein Punkt
|
||||
schwerer aussieht als der davor. */
|
||||
if (p.stufe) {
|
||||
const name = { anfaenger: 'Anfänger', fort: 'Fortgeschritten',
|
||||
profi: 'Profi', meister: 'Meister' }[p.stufe] || p.stufe;
|
||||
/* `__koennen`, NICHT `__stufe`. Den Namen `fest-punkt__stufe` gibt
|
||||
es hier laengst -- er traegt den BEARBEITUNGSstand (Offen /
|
||||
Passt so / Verbessern). Im ersten Anlauf hatte ich ihn ein
|
||||
zweites Mal vergeben; gemessen standen danach 66 Marken an 33
|
||||
Punkten, und mein neues CSS faerbte auch den alten Behaelter
|
||||
mit. Zwei verschiedene Dinge unter einem Namen ist derselbe
|
||||
Fehler wie zwei Regeln fuer dieselbe Sache, nur eine Ebene
|
||||
frueher. */
|
||||
const m = el('span', 'fest-punkt__koennen', name);
|
||||
m.dataset.stufe = p.stufe;
|
||||
links.append(m);
|
||||
}
|
||||
kopf.append(links);
|
||||
|
||||
/* Die Marke rechts -- immer sichtbar, auch für den Creator, auch
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -217,10 +217,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/aufgaben.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/automation.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -140,10 +140,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/automation.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+14
-14
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/bereich.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -149,14 +149,14 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/ampel.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/schulung.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereich.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/calls.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -82,11 +82,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/calls.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,17 +14,17 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<!-- aufgaben.css bringt die Dialog- und Formularstile mit (.dialog,
|
||||
.neu__zeile, .dialog__knoepfe). Sie stehen dort seit dem
|
||||
Aufgabenbrett; sie hierher zu kopieren hiesse, sie an zwei Stellen
|
||||
zu pflegen. Dieselbe Lösung nutzen kalender.html und content.html.
|
||||
Gemeldet von pruef-css-klassen.mjs, bevor jemand einen ungestylten
|
||||
Dialog zu sehen bekam. -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/chat.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -160,10 +160,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609090155"></script>
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155"></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155"></script>
|
||||
<script src="assets/js/chat.js?v=202609090155"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205"></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205"></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205"></script>
|
||||
<script src="assets/js/chat.js?v=202609090205"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/content.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -172,12 +172,12 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/content.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/checkliste.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/vorlagen.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/content.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/dateien.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -101,10 +101,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/dateien.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="gate">
|
||||
@@ -401,6 +401,6 @@
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/gate.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/gate.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/kalender.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -340,11 +340,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kalender.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kalender-abo.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/leistung.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -217,10 +217,10 @@
|
||||
</form>
|
||||
</dialog>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155"></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155"></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155"></script>
|
||||
<script src="assets/js/leistung.js?v=202609090155"></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205"></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205"></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205"></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205"></script>
|
||||
<script src="assets/js/leistung.js?v=202609090205"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/personen.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -324,10 +324,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/personen.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -207,11 +207,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/profil.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/report.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -99,11 +99,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/report.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/report.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/scouting.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -132,10 +132,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/scouting.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<!-- Nur die Startseite: Begrüßungskachel, Uhr, Glockenmulde. Siehe
|
||||
den Hinweis in start.css -- dort stand es bis zum 07.09.2026. -->
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/heim.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -580,10 +580,10 @@
|
||||
</p>
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/start.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/start.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+11
-11
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/startcheck.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -78,11 +78,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/ki.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/ki.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/startcheck.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/profil.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -119,10 +119,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/steckbrief.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,13 +14,13 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<!-- Formular- und Dialogstile: seit dem 07.09.2026 steht hier der
|
||||
Dialog "Creator anlegen". -->
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/uebersicht.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -142,11 +142,11 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/uebersicht.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+10
-10
@@ -14,11 +14,11 @@
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090155" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/wissen.css?v=202609090205" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202609090205" />
|
||||
</head>
|
||||
|
||||
<body class="start">
|
||||
@@ -183,10 +183,10 @@
|
||||
|
||||
</main>
|
||||
|
||||
<script src="assets/js/wahl.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609090155" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202609090205" defer></script>
|
||||
<script src="assets/js/wissen.js?v=202609090205" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user