From 1f217041ae339aaa08dcb4aa7678a0ca9547ae35 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Fri, 28 Aug 2026 13:14:11 +0200 Subject: [PATCH] Workspace: hellere Kategoriekacheln + Dateien gezielt an mehrere Personen ZWEI WUENSCHE VON FILIPE. 1) KACHELN BESSER SICHTBAR Erster Versuch war zu zaghaft: die Flaeche ging nur von RGB(17,24,37) auf (27,36,51), der sichtbare Gewinn kam fast nur vom staerkeren Rand. Nachgemessen an echten Bildpunkten -- Seite liegt bei RGB(5,7,13). Jetzt RGB(38,49,67), dazu kraeftigerer Rand und hellerer Symbolring. Der Beschreibungstext stand auf --text-still und lag damit bei 3,6:1 auf der neuen Flaeche -- zu blass fuer laufenden Text. Jetzt --text-leise, gemessen 6,2:1. Leere Kategorien waren mit opacity .55 fast unlesbar. Jetzt .82 -- sie sollen erkennbar bleiben, nur zurueckhaltender. 2) DATEIEN AN MEHRERE PERSONEN GEZIELT FREIGEBEN Bisher hatte eine Datei genau EINEN Bereich (creator_id). Damit liess sie sich nicht zweien geben, ohne sie zweimal hochzuladen. Neue Tabelle datei_personen (datei_id + person_id). creator_id bleibt und behaelt seine Bedeutung: Es sagt, zu wessen BEREICH eine Datei gehoert -- die neue Tabelle sagt, WER sie sehen darf. Zwei verschiedene Fragen, deshalb zwei Felder. Auswahl als einzelne Schalter, nicht als : Dort verliert man mit einem + Fehlklick die ganze Auswahl, und auf dem Handy ist sie kaum + bedienbar. Hier ist jeder Name ein eigener Schalter, der sichtbar an + oder aus ist. + =================================================================== */ + +.hochlade-zeile { display: grid; gap: 16px; margin-bottom: 22px; } + +.wahl, .datei__wahl { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 8px; } +.datei__wahl { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rand); } + +.wahl__knopf { + display: inline-flex; align-items: center; gap: 8px; + padding: 7px 13px; cursor: pointer; + background: rgba(255, 255, 255, .04); + border: 1px solid var(--rand); border-radius: 999px; + color: var(--text-leise); font: inherit; font-size: .84rem; + transition: color .16s ease, border-color .16s ease, background .16s ease; +} +.wahl__knopf:hover { color: var(--text); border-color: rgba(255, 255, 255, .24); } +.wahl__rolle { + font-size: .7rem; font-weight: 600; letter-spacing: .03em; + color: var(--text-still); +} +/* Ausgewählt trägt die Farbe der Rolle -- man sieht auf einen Blick, + ob eine Datei an Creator, Scouts oder beide geht. */ +.wahl__knopf[data-an="ja"] { color: #fff; font-weight: 600; } +.wahl__knopf[data-an="ja"][data-rolle="creator"] { + border-color: rgba(63, 189, 245, .55); background: rgba(63, 189, 245, .16); +} +.wahl__knopf[data-an="ja"][data-rolle="scout"] { + border-color: rgba(138, 118, 255, .55); background: rgba(138, 118, 255, .16); +} +.wahl__knopf[data-an="ja"][data-rolle="admin"] { + border-color: rgba(232, 192, 125, .55); background: rgba(232, 192, 125, .16); +} +.wahl__knopf[data-an="ja"] .wahl__rolle { color: rgba(255, 255, 255, .75); } + +.datei__freigaben { + display: flex; align-items: center; gap: 7px; flex-wrap: wrap; + margin-top: 10px; padding-top: 10px; + border-top: 1px solid var(--rand); +} +.datei__schild { + font-size: .7rem; font-weight: 700; letter-spacing: .07em; + text-transform: uppercase; color: var(--text-still); +} +.marke-person { + padding: 3px 10px; border-radius: 999px; + font-size: .76rem; font-weight: 600; + color: var(--text-leise); + background: rgba(255, 255, 255, .05); + border: 1px solid var(--rand); +} +.marke-person--leer { color: var(--text-still); font-weight: 400; font-style: italic; } + +@media (prefers-reduced-motion: reduce) { .wahl__knopf { transition: none; } } diff --git a/workspace/assets/css/wissen.css b/workspace/assets/css/wissen.css index b8908727..6940ebf5 100644 --- a/workspace/assets/css/wissen.css +++ b/workspace/assets/css/wissen.css @@ -76,13 +76,18 @@ padding: 15px 16px; text-decoration: none; color: var(--text); border: 1px solid transparent; border-radius: 13px; + /* Deutlich heller als der Seitenhintergrund (#05070d) -- die Kacheln + sollen als Flaechen erkennbar sein, nicht im Dunkeln verschwinden. + Gemessen: Seite liegt bei RGB(5,7,13), die Kachel bei RGB(38,49,67) -- + der erste Versuch mit (27,36,51) war zu zaghaft, da kam der sichtbare + Gewinn fast nur vom Rand. */ background: - linear-gradient(#111825, #0c1320) padding-box, + linear-gradient(#263143, #1c2637) padding-box, linear-gradient(150deg, - color-mix(in srgb, var(--w) 42%, transparent), - rgba(255, 255, 255, .06) 55%, - color-mix(in srgb, var(--w) 16%, transparent)) border-box; - transition: transform .16s ease, box-shadow .2s ease; + color-mix(in srgb, var(--w) 62%, transparent), + rgba(255, 255, 255, .12) 55%, + color-mix(in srgb, var(--w) 26%, transparent)) border-box; + transition: transform .16s ease, box-shadow .2s ease, background .16s ease; } .kachel::after { content: ""; position: absolute; left: 14px; right: 14px; top: 1px; height: 1px; @@ -91,20 +96,24 @@ } .kachel:hover { transform: translateY(-2px); - box-shadow: 0 8px 24px -12px color-mix(in srgb, var(--w) 85%, transparent); + background: + linear-gradient(#2f3b50, #232e42) padding-box, + linear-gradient(150deg, var(--w), rgba(255, 255, 255, .16) 55%, + color-mix(in srgb, var(--w) 40%, transparent)) border-box; + box-shadow: 0 8px 26px -11px color-mix(in srgb, var(--w) 90%, transparent); } .kachel:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--w) 32%, transparent); } -.kachel[data-leer="ja"] { opacity: .55; } +.kachel[data-leer="ja"] { opacity: .82; } .kachel[data-leer="ja"]:hover { opacity: 1; } .kachel__ring { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; - background: color-mix(in srgb, var(--w) 13%, transparent); - border: 1px solid color-mix(in srgb, var(--w) 30%, transparent); + background: color-mix(in srgb, var(--w) 22%, transparent); + border: 1px solid color-mix(in srgb, var(--w) 45%, transparent); } .kachel__symbol { width: 21px; height: 21px; @@ -116,14 +125,16 @@ .kachel__beschreibung { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; - font-size: .78rem; color: var(--text-still); line-height: 1.45; + /* War --text-still (gemessen 3,6:1 auf der neuen Flaeche) -- zu blass + fuer laufenden Text. --text-leise liegt bei 6,4:1. */ + font-size: .79rem; color: var(--text-leise); line-height: 1.45; } .kachel__zahl { flex: none; min-width: 26px; padding: 2px 8px; align-self: flex-start; text-align: center; font-size: .75rem; font-weight: 700; - color: color-mix(in srgb, var(--w) 55%, #ffffff); - background: color-mix(in srgb, var(--w) 12%, transparent); - border: 1px solid color-mix(in srgb, var(--w) 26%, transparent); + color: color-mix(in srgb, var(--w) 40%, #ffffff); + background: color-mix(in srgb, var(--w) 20%, transparent); + border: 1px solid color-mix(in srgb, var(--w) 40%, transparent); border-radius: 999px; } diff --git a/workspace/assets/js/dateien.js b/workspace/assets/js/dateien.js index f7092ff8..7110f821 100644 --- a/workspace/assets/js/dateien.js +++ b/workspace/assets/js/dateien.js @@ -38,6 +38,54 @@ } const datum = (iso) => (iso ? iso.slice(0, 10).split('-').reverse().join('.') : '—'); + /* ---------- Wer darf die Datei sehen ------------------------------------ + Kleine Schalter statt einer Mehrfachliste: In einer +
+ + +
+ +
+ +

Niemand ausgewählt – dann sieht sie nur DogFather.

+
+
@@ -79,7 +88,7 @@ - - + + diff --git a/workspace/index.html b/workspace/index.html index e4cb918c..ee953414 100644 --- a/workspace/index.html +++ b/workspace/index.html @@ -25,7 +25,7 @@ type="image/webp" media="(max-width: 899px)" /> - + @@ -130,6 +130,6 @@

- + diff --git a/workspace/kalender.html b/workspace/kalender.html index f746cc82..51b915b8 100644 --- a/workspace/kalender.html +++ b/workspace/kalender.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -94,7 +94,7 @@ - - + + diff --git a/workspace/personen.html b/workspace/personen.html index 390cf51b..9981a746 100644 --- a/workspace/personen.html +++ b/workspace/personen.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -87,7 +87,7 @@ - - + + diff --git a/workspace/profil.html b/workspace/profil.html index cacc0913..54bea75f 100644 --- a/workspace/profil.html +++ b/workspace/profil.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -127,7 +127,7 @@ - - + + diff --git a/workspace/report.html b/workspace/report.html index 33a4cc68..655afc2d 100644 --- a/workspace/report.html +++ b/workspace/report.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -86,7 +86,7 @@ - - + + diff --git a/workspace/scouting.html b/workspace/scouting.html index ff46b7dc..a745ade7 100644 --- a/workspace/scouting.html +++ b/workspace/scouting.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -124,7 +124,7 @@ - - + + diff --git a/workspace/start.html b/workspace/start.html index fd0aba72..07e0d387 100644 --- a/workspace/start.html +++ b/workspace/start.html @@ -7,8 +7,8 @@ - - + + @@ -56,7 +56,7 @@

- - + + diff --git a/workspace/startcheck.html b/workspace/startcheck.html index 3ad09dd2..325aaa70 100644 --- a/workspace/startcheck.html +++ b/workspace/startcheck.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -65,7 +65,7 @@ - - + + diff --git a/workspace/wissen.html b/workspace/wissen.html index ce38da89..0d78c7d1 100644 --- a/workspace/wissen.html +++ b/workspace/wissen.html @@ -7,10 +7,10 @@ - - - - + + + + @@ -145,7 +145,7 @@ - - + +