JET-Design-Wortmarke im Kopf und auf der Rechnung

Die Logos stammen aus der Shop-Webseite (assets/img/logo). Im Seitenkopf
stehen beide SVG-Varianten im Markup, CSS blendet die zum Theme passende
ein -- der Dark-Mode-Schalter laedt die Seite nicht neu.

Fuer den Rechnungsdruck liegt die Wortmarke zusaetzlich als JPEG bei,
weil fpdf2 kein SVG setzen kann. logo_datei() waehlt aus: hochgeladenes
Logo vor mitgelieferter Marke, Textkopf nur noch als Notnagel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik Thiele
2026-09-08 14:25:52 +02:00
parent e1142ac904
commit b0e6b1b9f2
10 changed files with 91 additions and 13 deletions

View File

@@ -8,6 +8,8 @@
- `templates/settings.html` — Einstellungsseite (Druckerabschreibung, Arbeitskosten, Marge, MwSt., Firmendaten, Logo)
- `static/style.css` — Light-/Dark-Mode-Theming
- `static/script.js` — Live-Berechnung + Auto-Save beim Tippen
- `static/img/logo/` — JET-Design-Wortmarke: `jet-design.svg` (dunkle Schrift),
`jet-design-weiss.svg` (Dark Mode), `jet-design.jpg` (Rechnungs-PDF)
- `druckkalkulation_config.yaml` — auto-created/auto-saved state (in .gitignore)
- `proxmox-setup.sh` — Proxmox LXC-Ersteinrichtung
- `proxmox-update.sh` — Proxmox LXC-Update
@@ -100,4 +102,14 @@ Kein Test, Lint, Typecheck oder CI vorhanden. README.md und AGENTS.md enthalten
`_migriere()` in eine einzelne Position und entfernt die Altfelder.
- **Saeamtliche UI-Texte sind Deutsch** — Labels, Fehlermeldungen, Rechnungsinhalte.
- Nur `.venv/`, `druckkalkulation_config.yaml` und `static/logo.*` werden ignoriert.
`static/img/logo/` ist davon nicht betroffen und wird versioniert.
- Das Rechnungslogo liefert `logo_datei()`: hochgeladenes Logo vor
`STANDARD_LOGO`, und erst wenn beide Dateien fehlen, setzt der PDF-Kopf
den Namen als Text. Nie direkt `config['logo']` fuer die Ausgabe lesen.
- Die Wortmarke ist im SVG fest eingefaerbt. Deshalb stehen im Kopf beide
Varianten im Markup und `static/style.css` blendet ueber
`[data-bs-theme="dark"]` die passende ein -- `toggleDarkMode()` laedt die
Seite nicht neu, eine serverseitige Auswahl waere danach falsch. Am
`navbar-brand` darf `navbar-brand-autodark` nicht stehen: Tabler invertiert
damit Bilder im Dark Mode und wuerde die weisse Variante schwarz faerben.
- `3dDruckKalkulator.py` ist die alte Tkinter-Version und wird nicht mehr verwendet (nicht im Tracking).