Die Höhe des Aufmachers ist jetzt einstellbar

Vier Stufen unter Einstellungen → Verwaltung → Übersicht: niedrig, mittel,
hoch, sehr hoch. Mittel ist, was gestern fest verdrahtet war.

**Keine Pixelzahl.** Eine einzustellen hiesse, sie an jedem Bildschirm neu
einzustellen — der Aufmacher misst sich an der Fensterhöhe, nicht an einer
festen Grösse. Gemessen bei 800 Bildpunkten Fensterhöhe: 496, 576, 656,
736. Oben ist Schluss, bevor von der ersten Plakatreihe nichts mehr übrig
bleibt; sie soll zeigen, dass unten noch etwas kommt. Am Telefon bleibt es
flacher, dort wäre auch das weg.

**Sie reist mit der Systemauskunft mit**, nicht in einer eigenen Abfrage.
Die holt der Client ohnehin als Erstes, noch vor der Anmeldung; käme die
Höhe später, stünde der Aufmacher einen Augenblick in der Vorgabe und
spränge dann — genau das, was eine einstellbare Höhe vermeiden soll.
Gesetzt wird sie als Marke am `<html>`, das Regelwerk hängt vier Werte
daran.

Serverweit und nur für Admins, dieselbe Linie wie bei den
Wiedergaberegeln: eine Entscheidung des Gastgebers, nicht des Gastes.
Unbekanntes in der Spalte wird zur Vorgabe statt zu einem Fehler — eine
Startseite, die an einem alten Eintrag scheitert, wäre die schlechtere
Antwort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-07 18:32:10 +02:00
co-authored by Claude Opus 5
parent a7a4419626
commit cdea8e3b0a
6 changed files with 158 additions and 4 deletions
+47
View File
@@ -0,0 +1,47 @@
namespace Flaro.Api;
/// <summary>Wie hoch der Aufmacher auf der Startseite steht.</summary>
///
/// <remarks>
/// <para>
/// <b>Vier Stufen, keine Zahl.</b> Eine Pixelzahl einzustellen hiesse, sie
/// für jeden Bildschirm neu einzustellen — der Aufmacher misst sich an der
/// Fensterhöhe, nicht an einer festen Grösse. Vier Wörter sind das, was man
/// dazu zu sagen hat.
/// </para>
/// <para>
/// <b>Was die Stufen bedeuten, steht im Regelwerk</b>, nicht hier: der Server
/// weiss nichts von Bildpunkten, er merkt sich nur die Wahl. Nachzulesen bei
/// <c>.hero</c> in <c>style.css</c>.
/// </para>
/// <para>
/// <b>Serverweit.</b> Dieselbe Linie wie bei den Wiedergaberegeln: eine
/// Entscheidung des Gastgebers, nicht des Gastes.
/// </para>
/// </remarks>
public static class Aufmacherhoehe
{
public const string Schlüssel = "darstellung.aufmacher.hoehe";
/// <summary>Die Mitte — das, was vorher fest verdrahtet war.</summary>
public const string Vorgabe = "mittel";
private static readonly string[] Stufen = ["niedrig", "mittel", "hoch", "sehrhoch"];
/// <summary>Macht aus dem Gespeicherten eine der vier Stufen.</summary>
///
/// <remarks>
/// Unbekanntes wird zur Vorgabe statt zu einem Fehler: in der Spalte
/// steht, was irgendwann einmal hineingeschrieben wurde, und eine
/// Startseite, die daran scheitert, wäre die schlechtere Antwort.
/// </remarks>
public static string Lesen(string? wert)
{
var blank = wert?.Trim().ToLowerInvariant() ?? "";
return Stufen.Contains(blank) ? blank : Vorgabe;
}
/// <summary>Ob das eine Stufe ist, die es gibt.</summary>
public static bool Kennt(string? wert) =>
wert is not null && Stufen.Contains(wert.Trim().ToLowerInvariant());
}