Files
dogfather-universe/workspace/bewerben.html
T
DogFatherGitandClaude Opus 5 9f5dbb42e3 Support: melden mit Bild, und für die Leitung ein Eingang
Filipe: „da fehlt auch eine support kachel. die jeder sieht. jeder
benutzen kann. jeder kann da probleme von der seite melden und
hinweisen. fotos mit schicken mit einem text. … so einfach wie
möglich, will nichts kompliziertes oder zu viel. kurz und knapp …
bei dogfather und der rechten hand soll die kachel anders gebaut sein
weil die sind die die sich um die probleme kümmern."

WARUM DAS NICHT DER VORHANDENE MELDEWEG IST. Es gibt ihn schon
(hilfe.html) und er sieht aehnlich aus. Drei Unterschiede machen ihn
zu etwas anderem:
  1. Er ist NICHT fuer alle -- in rechte.js steht
     `["gast","hand","admin"]`. Modis, Creator, Scouts, Manager und
     die linke Hand hatten gar keinen Weg, einen kaputten Knopf zu
     melden.
  2. Er kann keine Bilder. Bei „der Knopf tut nichts" ist ein
     Bildschirmfoto die halbe Antwort.
  3. Er ist bewusst schwer: strikter Wechsel, hoechstens drei offene
     Faelle, ein Betreff. Richtig bei einem Vorfall zwischen
     Menschen, zu viel fuer „das Datum steht falsch da".

Deshalb eigen und sehr kurz: EIN Feld, EIN Bild, fertig. Kein
Betreff, keine Kategorie, keine Dringlichkeitsstufe -- wer ein
Formular mit fuenf Feldern sieht, meldet den kleinen Fehler nicht,
und genau die kleinen erfaehrt sonst niemand.

DIE LEITUNG SIEHT ETWAS ANDERES: einen Eingang mit Zahlenband
(neu / in Arbeit / erledigt), drei Filtern und zwei Handgriffen --
„Ich kuemmere mich" und „Erledigt …". Zwei, nicht fuenf; eine
Zuweisung an eine Person und Prioritaeten waeren ein Ticketsystem
fuer zwei Menschen, die nebeneinander sitzen. Das Melde-Feld bleibt
auch fuer sie da, rutscht aber unter den Eingang.

Wer zumacht, schreibt einen Satz dazu -- der Melder sieht nur diesen
Satz, und ohne ihn weiss er nicht, ob etwas behoben wurde oder ob
niemand Zeit hatte. Beide Seiten bekommen eine Benachrichtigung.

UEBERNOMMEN STATT NEU ERFUNDEN:
  * `dateiErkennen` aus workspace-chat.js -- EXPORTIERT, nicht
    abgeschrieben. An ihr haengt die ganze Sicherheit der Uploads
    (der Typ kommt aus den ersten Bytes, nicht aus Name oder
    Content-Type), und eine zweite Fassung waere die, die beim
    naechsten Dateiformat vergessen wird.
  * Die zweigeteilte Sicht und `meldungFuer()` (gibt den Datensatz
    oder null zurueck, nie true/false) aus dem vertraulichen
    Meldeweg.
  * Der Upload-Weg (express.raw, Text im Kopf, Ordner unter
    DATEN_ORDNER, damit die Sicherungspruefung ihn findet).

DIE KACHEL BEKOMMT JEDER -- an EINER Stelle angehaengt: `bereicheFuer`
haengt sie an jede Rollenliste, statt sie in fuenf Listen
einzutragen. Genau so ist heute der Benachrichtigungs-Knopf auf 14
Seiten verschwunden. Dazu der Eintrag in rechte.js (ohne ihn
verschwindet die Kachel lautlos, `nurOffeneKacheln` filtert dagegen)
und in der Browser-Kachelliste fuer die Agentur-Rollen.

TON 44 GERECHNET, NICHT GEWAEHLT -- und dabei zweimal danebengelegen:
  * Ich habe erst einen eigenen Modus in kachel-farben.mjs gebaut.
    `tools/kachel-farbe-einzeln.mjs` gibt es aber seit dem 22.09. fuer
    genau diesen Zweck. Meine Dopplung ist wieder weg.
  * Von Hand hatte ich #bcdbff eingetragen. pruef-kachelfarben lehnte
    es ab (Buntheit 0,060, verlangt sind 0,12) -- und das vorhandene
    Werkzeug verteidigte es trotzdem, weil sein Abstand gut war. Ein
    Werkzeug, das einen regelwidrigen Zustand haelt, weil er zufaellig
    gut misst, behebt genau den Fehler nicht, fuer den es da ist.
    Behoben: Zuerst die Regeln, dann der Abstand. Ergebnis #fd6401,
    Abstand 0,0914 (engstes vorhandenes Paar: 0,0154).

DREI MESSFEHLER VON MIR, die wie schwere Befunde aussahen: `fetch`
verwirft den Host-Kopf (die Community kommt nur auf crew. herein),
die Community bestaetigt ihr Alter (`alter_ok`), und die Startroute
heisst /api/ich. Alle drei stehen in pruef-treff.mjs richtig.

Ein ECHTER Fehler kam dazu: support.html lud bereiche.js nicht, und
kopf.js stuerzte mit „Cannot read properties of undefined (reading
'LEITUNG')" ab -- sichtbar nur in der Browserkonsole. Und
pruef-css-klassen fand sofort, dass auch wahl.js fehlte.

Gemessen: pruef-support 45 Pruefungen, 0 Fehler (alle neun Rollen
kommen herein, jede sieht die Kachel, als Bild getarntes HTML wird
abgelehnt, eine fremde Meldung bleibt fremd, erledigt bleibt
erledigt). Dazu 24 Messungen am Bild in drei Groessen. Gruen:
pruef-kachelfarben (22), pruef-css-klassen.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-24 01:32:55 +02:00

123 lines
5.4 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>Anfrage · Das Rudel</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609240132" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609240132" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/start.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/aufgaben.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/bereich.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/treff.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/bewerbung.css?v=202609240132" />
<link rel="stylesheet" href="assets/css/module.css?v=202609240132" />
<!-- haus.css MUSS die letzte Stilvorlage sein - siehe treff-regeln.html. -->
<link rel="stylesheet" href="assets/css/haus.css?v=202609240132" />
</head>
<body class="start">
<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">Das&nbsp;Rudel</a> · <span id="marke-was">Anfrage</span></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">
<!-- ==================================================================
DIE ANFRAGE AUS DER COMMUNITY (17.09.2026)
Filipe: „ich will dass die leute sich da anonym bei mir melden
können und eine anfrage machen können. ich will dass es
aber profissionel gemacht ist bitte wie ein fragebogen."
VERTRAULICH, NICHT NAMENLOS - seine Entscheidung. Es gibt keine
Selbstanmeldung im Rudel; jeder Zugang kommt von DogFather selbst.
Eine wirklich namenlose Anfrage wäre also nicht anonymer, sondern
nur schlechter: Man könnte niemandem antworten, und aus einer
Anfrage würde nie ein Gespräch.
„Anonym" heißt hier deshalb: NIEMAND AUS DER COMMUNITY SIEHT SIE.
Nicht die anderen Mitglieder, nicht die Modis - nur DogFather und
die rechte Hand. Und das steht auf dieser Seite, bevor jemand
anfängt zu tippen, statt im Kleingedruckten darunter.
============================================================== -->
<section class="kopf-zeile">
<div>
<p class="marke">Mitmachen</p>
<!-- DER NAME DER ROLLE STEHT NICHT IN DIESER DATEI.
Sie ist ohne Anmeldung aus dem offenen Netz lesbar (gemessen
am 17.09.2026: jede Datei unter /workspace/ antwortet mit
200). Der Server schickt das Wort in seiner Antwort mit --
dieselbe Regel wie bei den Rudel-Regeln und im Chat.
Was hier steht, ist die ehrliche Ueberschrift, falls die
Antwort ausbleibt: eine Anfrage ist es so oder so. -->
<h1 class="titel" id="titel">Anfrage stellen</h1>
<p class="unterzeile">
Ein paar Fragen - ehrlich beantwortet ist mehr wert als
vollständig. Du kannst zwischendurch aufhören und später
weitermachen: Deine Antworten bleiben so lange in diesem
Browser. Zu uns kommen sie erst, wenn du abschickst.
</p>
</div>
</section>
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<p class="leise" id="ladezeile">einen Moment …</p>
<!-- Der Stand, wenn schon eine Anfrage vorliegt (oder eine Sperrfrist
läuft). Steht ganz oben: Wer hier landet und schon geschickt hat,
will als Erstes wissen, was daraus wurde - nicht das Formular
noch einmal sehen. -->
<section class="bw-stand" id="stand" hidden></section>
<form class="bw-bogen" id="bogen" hidden novalidate>
<div id="gruppen"></div>
<!-- WER DAS LIEST, steht direkt über dem Absenden-Knopf und nicht
nur oben auf der Seite. Wer hier unten ankommt, hat oben zehn
Minuten hinter sich. -->
<p class="bw-wer-liest" id="wer-liest"></p>
<div class="bw-abschluss">
<button type="submit" class="knopf" id="abschicken">Anfrage abschicken</button>
<a class="schritt" href="bereich.html?b=mitmachen">Doch nicht</a>
</div>
</form>
</main>
<!-- Der Fuß gehört zu jeder Seite - siehe pruef-css-klassen. -->
<script src="assets/js/meldung.js?v=202609240132" defer></script>
<script src="assets/js/nachfrage.js?v=202609240132" defer></script>
<script src="assets/js/wahl.js?v=202609240132" defer></script>
<script src="assets/js/bereiche.js?v=202609240132" defer></script>
<script src="assets/js/installieren.js?v=202609240132" defer></script>
<script src="assets/js/kopf.js?v=202609240132" defer></script>
<script src="assets/js/glocke.js?v=202609240132" defer></script>
<script src="assets/js/auskunft.js?v=202609240132" defer></script>
<script src="assets/js/bewerben.js?v=202609240132" defer></script>
</body>
</html>