Logo-Upload sichtbar machen; empfohlene Abmessungen angeben

Fehler: Ein hochgeladenes Logo blieb unsichtbar, auch nach dem Neuladen.
Die Oberflaeche prueft per Anfrage, ob ein Bild hinterlegt ist, und nutzte dafuer
HEAD. FastAPI registriert fuer eine GET-Route aber - anders als Starlette - kein
HEAD; die Anfrage lief in ein 405, und jedes hinterlegte Bild galt als "nicht
vorhanden". Der Upload selbst war die ganze Zeit in Ordnung.

- Neuer Endpunkt GET /branding liefert nur den Status ({"logo": true, ...}),
  ohne Bilddaten zu uebertragen. Die Oberflaeche fragt jetzt diesen ab.
- Die Bild-Route beantwortet zusaetzlich HEAD, damit sie sich erwartungsgemaess
  verhaelt.

Ausserdem:
- Die empfohlenen Abmessungen stehen jetzt sichtbar ueber der Vorschau
  (Logo etwa 400x72 px, Favicon 64x64 px, jeweils hoechstens 512 KB).
- Nach dem Hochladen wird die tatsaechliche Bildgroesse angezeigt, damit man
  sie mit der Empfehlung vergleichen kann.

Geprueft: "npm run build" laeuft durch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-23 08:55:17 +02:00
co-authored by Claude Opus 4.8
parent 903392e953
commit 4448718d8d
4 changed files with 54 additions and 12 deletions
+7 -3
View File
@@ -86,13 +86,17 @@ export default function Settings() {
<BrandingUpload
kind="logo"
title="Eigenes Logo"
hint="Ersetzt Zeichen und Schriftzug oben in der Seitenleiste. Die Höhe wird
begrenzt, damit das Layout erhalten bleibt. Ohne Angabe bleibt das
eingebaute Zeichen stehen."
empfehlung="etwa 400 × 72 px, PNG oder SVG mit durchsichtigem Hintergrund
(höchstens 512 KB)"
hint="Ersetzt Zeichen und Schriftzug oben in der Seitenleiste. Dargestellt wird
es mit 36 px Höhe und höchstens 200 px Breite – die doppelte Größe sorgt
für ein scharfes Bild auf hochauflösenden Bildschirmen. Ohne Angabe bleibt
das eingebaute Zeichen stehen."
/>
<BrandingUpload
kind="favicon"
title="Eigenes Favicon"
empfehlung="quadratisch, 64 × 64 px, PNG, SVG oder ICO (höchstens 512 KB)"
hint="Das Symbol im Browser-Tab. Ohne Angabe wird das Standardzeichen verwendet.
Änderungen werden nach einem Neuladen der Seite sichtbar."
onChanged={applyFavicon}