From e33c01ec377f61de304b462bab6c8046296e288c Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Sun, 16 Aug 2026 12:41:21 +0200 Subject: [PATCH] Icon-Quellen nach brand/icons/ verschieben und benennen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die drei SVGs lagen in der Repo-Wurzel und hiessen noch wie beim Download ("open-box (1).svg" – inklusive Leerzeichen und Klammer). Durch mein git add -A im letzten Commit sind sie dort auch gelandet. Jetzt liegen sie in brand/icons/ und heissen wie die Icons im Code: einlagern.svg, auslagern.svg, korrektur.svg. Ein README daneben haelt fest, wofuer jede da ist - die beiden Kisten unterscheiden sich nur in der Pfeilrichtung, wer sie verwechselt dreht Ein- und Auslagern um, ohne dass etwas kaputtgeht - und wie man die Pfaddaten nach einer Aenderung neu uebernimmt. Zur Laufzeit laedt niemand diese Dateien: die Pfade stehen inline in Icon.jsx, damit die Icons ueber currentColor die Textfarbe annehmen. Die Originale tragen festes Schwarz. Co-Authored-By: Claude Opus 5 --- brand/README.md | 3 ++ brand/icons/README.md | 38 +++++++++++++++++++ open-box.svg => brand/icons/auslagern.svg | 0 open-box (1).svg => brand/icons/einlagern.svg | 0 edit-server.svg => brand/icons/korrektur.svg | 0 web/src/components/Icon.jsx | 4 ++ 6 files changed, 45 insertions(+) create mode 100644 brand/icons/README.md rename open-box.svg => brand/icons/auslagern.svg (100%) rename open-box (1).svg => brand/icons/einlagern.svg (100%) rename edit-server.svg => brand/icons/korrektur.svg (100%) diff --git a/brand/README.md b/brand/README.md index 2e461cd..f260b7c 100644 --- a/brand/README.md +++ b/brand/README.md @@ -8,6 +8,9 @@ Name `box`) in Weiß auf der Akzentfläche. - **`app-icon.svg`** – 1024×1024, vollflächig, feste Farbe (`#4d5cd4`), ohne abgerundete Ecken. Für App-Icon (iOS/macOS via Icon Composer oder Xcode „AppIcon", App Store). Die Rundung macht das System selbst. +- **`icons/`** – Quellgrafiken der gefüllten Icons (Ein-/Auslagern, Korrektur). + Ihre Pfaddaten stehen inline in `../web/src/components/Icon.jsx`; siehe + `icons/README.md`. - **Favicon / Web-Logo:** `../web/public/favicon.svg` – dasselbe Zeichen mit abgerundeter Platte und Hell-/Dunkel-Umschaltung (für den Browser-Tab). diff --git a/brand/icons/README.md b/brand/icons/README.md new file mode 100644 index 0000000..89ff962 --- /dev/null +++ b/brand/icons/README.md @@ -0,0 +1,38 @@ +# Icon-Quellen + +Hier liegen zugekaufte/heruntergeladene Grafiken, deren Pfaddaten **inline** in +`web/src/components/Icon.jsx` stehen (Abschnitt `GEFUELLT`). Zur Laufzeit lädt +niemand diese Dateien – sie sind die Quelle, nicht das Auslieferungsformat. + +Warum inline statt ``: Die Icons sollen die Textfarbe annehmen +(`fill="currentColor"`), damit sie sich mit Thema und Zustand mitfärben. Als +externe Datei ginge das nicht; die Originale tragen eine feste schwarze Füllung. + +## Dateien + +| Datei | Icon-Name | Bedeutung | +|---|---|---| +| `einlagern.svg` | `einlagern` | Kiste, Pfeil **hinein** – Bewegungsart „Eingelagert" | +| `auslagern.svg` | `auslagern` | Kiste, Pfeil **heraus** – Bewegungsart „Ausgelagert" | +| `korrektur.svg` | `korrektur` | Stapel mit Stift – Bewegungsart „Korrektur" | + +Die beiden Kisten unterscheiden sich nur in **einem** Pfad: der Pfeilrichtung. +Wer sie verwechselt, dreht Ein- und Auslagern um, ohne dass etwas kaputtgeht – +deshalb die ausdrückliche Zuordnung oben. + +## Nach einer Änderung neu übernehmen + +Die Pfaddaten wurden per Skript übernommen, nicht abgetippt. Wird eine Datei +ersetzt, dieselbe Extraktion wiederholen und das Ergebnis in `GEFUELLT` +eintragen (`viewBox` mitnehmen – die Kisten sind 24×24, die Korrektur 64×64): + +```sh +python3 - <<'PY' +import re, pathlib +for name in ("einlagern", "auslagern", "korrektur"): + roh = pathlib.Path(f"brand/icons/{name}.svg").read_text() + print(name, re.search(r'viewBox="([^"]+)"', roh).group(1)) + for d in re.findall(r']*\sd="([^"]+)"', roh): + print(f' ') +PY +``` diff --git a/open-box.svg b/brand/icons/auslagern.svg similarity index 100% rename from open-box.svg rename to brand/icons/auslagern.svg diff --git a/open-box (1).svg b/brand/icons/einlagern.svg similarity index 100% rename from open-box (1).svg rename to brand/icons/einlagern.svg diff --git a/edit-server.svg b/brand/icons/korrektur.svg similarity index 100% rename from edit-server.svg rename to brand/icons/korrektur.svg diff --git a/web/src/components/Icon.jsx b/web/src/components/Icon.jsx index 17db8c1..0e6af09 100644 --- a/web/src/components/Icon.jsx +++ b/web/src/components/Icon.jsx @@ -146,6 +146,10 @@ const PATHS = { // Gefuellte Icons mit EIGENEM viewBox. Die uebrigen hier sind Strichzeichnungen // (fill:none, stroke:currentColor); diese kommen als fertige Grafik und muessen // deshalb getrennt gehalten werden. +// +// Quelle der Pfade: brand/icons/*.svg (dort steht auch, wie man sie nach einer +// Aenderung neu uebernimmt). Inline statt , damit sie ueber currentColor +// die Textfarbe annehmen – die Originaldateien tragen festes Schwarz. const GEFUELLT = { // Kiste mit Pfeil HINEIN – aus open-box (1).svg einlagern: {