From 02dbfa5461a07037009c5ba6e2c52f68fd94dda4 Mon Sep 17 00:00:00 2001 From: Jeuner <62662523+Jeuners@users.noreply.github.com> Date: Tue, 25 Aug 2026 00:33:28 +0200 Subject: [PATCH] feat: Melde-Button + Freitext-Modal statt Daumen-hoch/runter mit Dropdowns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auf Wunsch umgebaut: kein 👍 mehr, nur noch ein einzelner, dezenter 👎-Melde-Button oben rechts auf der Karte (bei der Dringlichkeits-Badge) statt der Bewertungszeile unten. Klick oeffnet ein Modal mit Freitext- Eingabe statt der bisherigen Kategorie/Dringlichkeit-Dropdowns - fuer Entwicklungs-Feedback ist Prosa nuetzlicher als starre Felder. Neues kleines, wiederverwendbares JS-"Framework" (Objekt "meldung" im Frontend): meldung.oeffnen({titel, kontext, aufSpeichern}) - nicht fest an den Melde-Button gekoppelt, fuer kuenftige weitere "Melden"-Stellen ohne neues Modal bauen zu muessen. Escape/Klick-außerhalb schliessen, takt() pausiert waehrend das Modal offen ist (gleiches Muster wie beim Audio-Fix). Speicherung laeuft weiter durch die bestehende bewertung.json/Export- Pipeline (korrektur ist jetzt Freitext statt strukturierter Felder). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_015vtvcyNkapuDh583643hNs --- pipe/server.py | 125 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 85 insertions(+), 40 deletions(-) diff --git a/pipe/server.py b/pipe/server.py index 4729fb0..6fd5e96 100644 --- a/pipe/server.py +++ b/pipe/server.py @@ -477,18 +477,26 @@ padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit} .export-btn{background:var(--karte);border:1px solid var(--rand);color:var(--fg);border-radius:8px; padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit;margin-left:8px} .export-btn:hover{border-color:var(--muted)} -.bewertung{display:flex;align-items:center;gap:6px;margin-top:8px} -.bewertung button{font-size:15px;background:var(--bg);border:1px solid var(--rand);border-radius:7px; -padding:3px 8px;cursor:pointer;line-height:1;opacity:.55} -.bewertung button:hover{opacity:1;border-color:var(--muted)} -.bw-gut.aktiv{opacity:1;background:color-mix(in srgb,var(--gut) 18%,var(--bg));border-color:var(--gut)} -.bw-schlecht.aktiv{opacity:1;background:color-mix(in srgb,var(--schlecht) 18%,var(--bg));border-color:var(--schlecht)} -.bw-korrektur{display:none;align-items:center;gap:5px} -.bw-korrektur.zeigen{display:flex} -.bw-korrektur select{font:inherit;font-size:12px;padding:2px 4px;border-radius:6px; +.melde-btn{font-size:13px;background:var(--bg);border:1px solid var(--rand);border-radius:7px; +padding:2px 6px;cursor:pointer;line-height:1.4;opacity:.5;flex:none} +.melde-btn:hover{opacity:1;border-color:var(--muted)} +.melde-btn.aktiv{opacity:1;background:color-mix(in srgb,var(--schlecht) 18%,var(--bg));border-color:var(--schlecht)} +/* Meldung-Modal: generisches, wiederverwendbares Overlay (siehe JS-Objekt + "meldung" unten) - nicht fest an den Melde-Button gekoppelt, damit + spaetere "Melden"-Stellen dasselbe Modal nutzen koennen. */ +.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45); +z-index:20;align-items:center;justify-content:center;padding:20px} +.modal-overlay.zeigen{display:flex} +.modal{background:var(--karte);border-radius:12px;padding:18px;max-width:420px;width:100%; +box-shadow:0 12px 40px rgba(0,0,0,.3)} +.modal h3{margin:0 0 4px;font-size:15px} +.modal-kontext{color:var(--muted);font-size:12.5px;margin:0 0 10px} +.modal textarea{width:100%;min-height:90px;font:inherit;font-size:13px;padding:8px; +border-radius:8px;border:1px solid var(--rand);background:var(--bg);color:var(--fg);resize:vertical} +.modal-aktionen{display:flex;justify-content:flex-end;gap:8px;margin-top:12px} +.modal-aktionen button{font:inherit;font-size:13px;padding:6px 14px;border-radius:8px;cursor:pointer; border:1px solid var(--rand);background:var(--bg);color:var(--fg)} -.bw-korrektur button{font-size:12px;padding:3px 8px;opacity:1;background:var(--gut); -color:#fff;border-color:var(--gut)} +.modal-aktionen button.primaer{background:var(--gut);border-color:var(--gut);color:#fff} .sicher-btn{background:var(--karte);border:1px solid var(--rand);color:var(--fg);border-radius:8px; padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit;margin-right:8px} .sicher-btn:hover{border-color:var(--muted)} @@ -586,6 +594,17 @@ color:var(--gut);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:
+