Erscheinungsbild im Admin-Bereich anpassbar
Name, Zusatz in der Fusszeile, Akzentfarbe, Logo und Favicon lassen sich unter Verwaltung -> Erscheinungsbild einstellen. Sie gelten fuer die ganze Installation und liegen in einer eigenen Tabelle mit genau einer Zeile. Zur Farbe: Tailwind 4 uebersetzt bg-indigo-600 zu background-color: var(--color-indigo-600). Die Anwendung schreibt diese Variablen zur Laufzeit neu — damit folgen alle rund 60 eingefaerbten Stellen der gewaehlten Farbe, ohne dass eine einzige Klasse angefasst werden muss. Uebernommen werden nur Farbton und Saettigung, nicht die Helligkeit. Die Helligkeitskurve stammt aus der Tailwind-Vorlage. Sonst wuerde ein helles Gelb die Kopfzeile unlesbar machen, denn auf Stufe 600 steht weisse Schrift. Die Umrechnung laeuft ueber OKLCH und trifft Tailwinds eigenes Indigo exakt. Logo und Favicon sind Uploads mit eigener Groessengrenze (2 MB bzw. 512 KB) und eigener Rechtepruefung: instance:manage statt codes:create. Uploads haben jetzt ein Feld "purpose" — sonst haette die Aufraeumroutine fuer herrenlose Dateien Logo und Favicon nach einem Tag geloescht. Ein ersetztes Bild wird gelaescht, und eine Datei aus einem QR-Code laesst sich nicht als Logo einhaengen. Auf den Landingpages gelten Farbe und Favicon, aber weder Logo noch Navigation — wer scannt, soll die Seite des Inhalts sehen. Ein erster Entwurf hielt das Erscheinungsbild 15 Sekunden im Speicher, um die Abfrage je Seitenaufruf zu sparen. Das ging schief: API-Route und Layout laufen in getrennten Modulinstanzen, das Verwerfen beim Speichern erreichte die andere Instanz nicht — nach dem Speichern blieb die Oberflaeche unveraendert. Jetzt ohne Puffer.
This commit is contained in:
+38
-1
@@ -19,6 +19,7 @@ so entschieden ist. Wie man es bedient, steht in der
|
||||
- [Anmeldung, Gruppen und Rollen](#anmeldung-gruppen-und-rollen)
|
||||
- [Single Sign-on](#single-sign-on)
|
||||
- [Mehrere Domains](#mehrere-domains)
|
||||
- [Erscheinungsbild](#erscheinungsbild)
|
||||
- [Verwaltung](#verwaltung)
|
||||
- [Betrieb](#betrieb)
|
||||
- [Schnittstelle](#schnittstelle)
|
||||
@@ -344,10 +345,46 @@ Anwendung leiten.
|
||||
|
||||
---
|
||||
|
||||
## Erscheinungsbild
|
||||
|
||||
Unter Verwaltung → Erscheinungsbild lassen sich einstellen:
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| **Name** | Kopfzeile, Titel des Browser-Tabs, Fußzeile |
|
||||
| **Zusatz in der Fußzeile** | steht hinter dem Namen |
|
||||
| **Akzentfarbe** | neun Vorschläge oder ein eigener Hex-Wert |
|
||||
| **Logo** | PNG, JPEG, WebP oder AVIF bis 2 MB; ersetzt Zeichen und Name |
|
||||
| **Favicon** | PNG, ICO oder WebP bis 512 KB |
|
||||
|
||||
**Wie die Farbe wirkt.** Tailwind übersetzt `bg-indigo-600` zu
|
||||
`background-color: var(--color-indigo-600)`. Die Anwendung überschreibt diese
|
||||
Variablen zur Laufzeit — damit folgen alle rund 60 eingefärbten Stellen der
|
||||
gewählten Farbe, ohne dass eine einzige Klasse angefasst werden müsste.
|
||||
|
||||
Aus der Eingabe übernommen werden nur **Farbton und Sättigung**, nicht die
|
||||
Helligkeit. Die Helligkeitsstufen kommen aus der Vorlage. Das ist Absicht: Auf
|
||||
der Stufe 600 steht weiße Schrift. Käme die Helligkeit aus der Eingabe, würde
|
||||
ein helles Gelb die Kopfzeile unlesbar machen — so bleibt jeder Farbton
|
||||
benutzbar.
|
||||
|
||||
**Auf den Landingpages** gelten Farbe und Favicon, aber weder Logo noch
|
||||
Navigation. Wer einen Aushang scannt, soll die Seite des Inhalts sehen, nicht
|
||||
die einer Verwaltungssoftware. Ein Logo je Gruppe auf den Landingpages steht
|
||||
als eigener Punkt auf der [Roadmap](roadmap.md).
|
||||
|
||||
**Zu den Dateien.** Logo und Favicon liegen wie alle Uploads in der Datenbank
|
||||
und werden über `/api/uploads/{id}` ausgeliefert — öffentlich, denn sie stehen
|
||||
auf jeder Seite. Beim Ersetzen wird die vorherige Datei gelöscht. SVG bleibt
|
||||
auch hier ausgeschlossen, aus demselben Grund wie bei den übrigen Uploads.
|
||||
|
||||
---
|
||||
|
||||
## Verwaltung
|
||||
|
||||
| Bereich | Was dort geht |
|
||||
| --- | --- |
|
||||
| **Erscheinungsbild** | Name, Logo, Favicon, Akzentfarbe |
|
||||
| **QR-Typen** | einzelne Typen ausblenden |
|
||||
| **Benutzer** | anlegen, deaktivieren, Passwort setzen, Instanz-Admin vergeben |
|
||||
| **Gruppen** | anlegen, umbenennen, Mitglieder und deren Rollen pflegen |
|
||||
@@ -398,7 +435,7 @@ Alles, was die Oberfläche tut, geht auch über HTTP:
|
||||
| `POST /api/feedback` | Rückmeldung abgeben |
|
||||
| `GET/POST /api/auth` | Zustand, Anmelden, Abmelden, Passwort ändern |
|
||||
| `GET /api/auth/oidc/start` · `/callback` | Anmeldung über den Anbieter |
|
||||
| `/api/admin/types` · `users` · `groups` · `domains` | Verwaltung |
|
||||
| `/api/admin/types` · `users` · `groups` · `domains` · `branding` | Verwaltung |
|
||||
| `GET /r/{slug}` | Weiterleitung eines dynamischen Codes |
|
||||
| `GET /s/{slug}` | öffentliche Landingpage |
|
||||
|
||||
|
||||
+13
-4
@@ -62,6 +62,12 @@ Damit sind **alle 15 vorgesehenen Typen** gebaut.
|
||||
Anmeldung über Authentik und andere OIDC-Anbieter, mit PKCE und geprüftem
|
||||
ID-Token.
|
||||
|
||||
### Erscheinungsbild (16.08.2026)
|
||||
|
||||
Name, Logo, Favicon und Akzentfarbe im Admin-Bereich einstellbar. Die Farbe
|
||||
wirkt über die Farbvariablen, die Tailwind ohnehin benutzt — deshalb ohne
|
||||
Umbau der rund 60 eingefärbten Stellen.
|
||||
|
||||
### Dokumentation (15.08.2026)
|
||||
|
||||
Bedienungsanleitung mit Bildern, Authentik-Anleitung, Funktionsübersicht.
|
||||
@@ -190,10 +196,13 @@ sehr viele oder sehr große Dateien ablegt, will sie irgendwann auf einem
|
||||
Objektspeicher (S3) haben. Der Wechsel betrifft nur `src/lib/uploads.ts` und
|
||||
die Auslieferungsroute — aber auch die Sicherungsstrategie.
|
||||
|
||||
**Eigene Gestaltung der Landingpages** · groß
|
||||
Logo, Farben und Schrift je Gruppe, damit die Seite nach der eigenen Firma
|
||||
aussieht. Technisch überschaubar, gestalterisch eine eigene Aufgabe — und es
|
||||
braucht Grenzen, damit nichts Unlesbares entsteht.
|
||||
**Erscheinungsbild je Gruppe** · groß
|
||||
Seit dem 16.08. lassen sich Name, Logo, Favicon und Farbe für die ganze
|
||||
Installation einstellen. Der nächste Schritt wäre, das je Gruppe zu erlauben
|
||||
und die Landingpages mit dem Logo der jeweiligen Gruppe zu versehen — damit
|
||||
eine gescannte Seite nach der Firma aussieht, der sie gehört. Technisch
|
||||
überschaubar, gestalterisch eine eigene Aufgabe; es braucht Grenzen, damit
|
||||
nichts Unlesbares entsteht.
|
||||
|
||||
**Mehrsprachige Oberfläche** · groß
|
||||
Die Anwendung ist durchgehend deutsch, auch in den Fehlermeldungen und den
|
||||
|
||||
Reference in New Issue
Block a user