Einstellungen hat jeder, Verwaltung nicht

Die Seite hiess „Verwaltung" und war für alle anderen gar nicht
erreichbar — „Meine Sprache" lag dadurch hinter einer Tür, die den meisten
verschlossen ist. Jetzt heisst sie **Einstellungen**, steht jedem offen und
hat zwei beschriftete Gruppen: oben, was einem selbst gehört (Mein Konto,
Geschaut), darunter — nur für Administratoren — **Verwaltung**. Die
Überschrift ist hier die halbe Aussage: sie sagt ohne weiteren Satz, wem
der untere Teil gehört.

In der Hauptleiste steht der Eintrag jetzt unten, ohne Gruppenüberschrift.
Eine Überschrift über einem einzigen Eintrag ist eine Überschrift über
nichts, und am Fuss sucht man Einstellungen ohnehin. `#/profil` und
`#/verwaltung/…` leiten weiter; ein Lesezeichen merkt davon nichts.

**Ein kurzes Menü am Bild.** Erst meldete der Klick ab — ohne Rückfrage.
Dann führte er auf die eigene Seite, und zum Abmelden musste man erst
dorthin. Beides sind zwei Punkte; ein Menü mit zwei Punkten ist ehrlicher
als eine Tür, hinter der eine zweite liegt.

**Und das Profilbild lässt sich zuschneiden.** Ein Profilbild ist rund,
was hochgeladen wird selten quadratisch — den Ausschnitt dem Browser zu
überlassen hiesse: mittig, und das trifft bei einem Porträt den Hals. Der
Dialog zeigt den runden Ausschnitt, man zieht und vergrössert, und
hochgeladen wird genau das: ein Quadrat von 512 Pixeln. Gemessen, es kommt
auch so an.

**Dazu die Spielerleiste.** Beide Knopfgruppen durften schrumpfen, ihre
Knöpfe aber nicht — wird es eng, steht der äusserste halb hinter dem
Fensterrand. Rechts sind es nur Knöpfe, da gibt es nichts nachzugeben;
links schon. Dazu seitlich `env(safe-area-inset-*)`, damit auf einem Gerät
mit runden Ecken nichts darunter liegt. Gemessen: vorher riss es ab 420
Pixeln, jetzt bis 320 nicht mehr.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-06 18:24:44 +02:00
co-authored by Claude Opus 5
parent 9c2e2b5f47
commit 327e2e9195
16 changed files with 582 additions and 280 deletions
+44 -2
View File
@@ -739,7 +739,10 @@ h2 { font-size: var(--t-abschnitt); font-weight: 700; letter-spacing: -.015em; m
.pl-kopf, .pl-leiste {
position: absolute; left: 0; right: 0; z-index: 2;
display: flex; align-items: center; gap: var(--s-regular);
padding: 14px 18px;
/* **Seitlich mindestens 18 Pixel, auf einem Gerät mit Ecken mehr.** Ohne
`env()` liegt der äusserste Knopf auf einem iPhone quer unter der
abgerundeten Ecke. */
padding: 14px max(18px, env(safe-area-inset-right)) 14px max(18px, env(safe-area-inset-left));
transition: opacity .2s ease-out, transform .2s ease-out;
}
.pl-kopf {
@@ -765,6 +768,15 @@ h2 { font-size: var(--t-abschnitt); font-weight: 700; letter-spacing: -.015em; m
.pl-unten { display: flex; align-items: center; justify-content: space-between; gap: var(--s-regular); }
.pl-gruppe { display: flex; align-items: center; gap: 6px; min-width: 0; }
/* **Die rechte Gruppe gibt nicht nach.**
*
* Beide Gruppen durften schrumpfen, und ihre Knöpfe sind `flex: 0 0 auto` —
* wird es eng, schrumpft also die Gruppe und ihre Knöpfe stehen heraus. Dann
* liegt der äusserste halb hinter dem Fensterrand. Links gibt es etwas
* nachzugeben (die Lautstärke, die Zeitangabe), rechts sind es nur Knöpfe. */
.pl-unten > .pl-gruppe:last-child { flex: 0 0 auto; }
.pl-unten > .pl-gruppe:first-child { flex: 0 1 auto; overflow: hidden; }
/* **44 Bildpunkte, nicht 32.** Darunter trifft ein Finger daneben, und ein
Fehlgriff auf der Zeitleiste wirft einen aus dem Film. */
.pl-rund {
@@ -887,9 +899,12 @@ body.pl-offen { overflow: hidden; }
.pl-kleinleiste { display: none; }
.pl.pl-klein .pl-kleinleiste {
display: flex; align-items: center; gap: var(--s-snug);
width: 100%; height: 100%; padding: 0 var(--s-regular) 0 140px;
width: 100%; height: 100%;
padding: 0 max(var(--s-regular), env(safe-area-inset-right)) 0 140px;
cursor: pointer;
}
/* Wie oben: der Text gibt nach, die Knöpfe nicht. */
.pl.pl-klein .pl-kleinleiste > .pl-rund { flex: 0 0 auto; }
.pl-kleintext { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pl-kleintitel {
@@ -1339,6 +1354,15 @@ body:has(.pl.pl-klein) .auswahlleiste { bottom: 92px; }
flex: none; width: 196px;
display: flex; flex-direction: column; gap: 2px;
}
/* Die Beschriftung ist hier die halbe Aussage: „Verwaltung" über den unteren
Einträgen sagt ohne weiteren Satz, dass diese dem Server gehören und nicht
einem selbst. */
.verw-gruppe {
font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
color: var(--text-faint); padding: var(--s-loose) var(--s-regular) var(--s-snug);
}
.verw-leiste > .verw-gruppe:first-child { padding-top: 0; }
.verw-eintrag {
display: flex; align-items: center; gap: var(--s-regular);
background: none; border: 0; text-align: left;
@@ -1372,8 +1396,26 @@ body:has(.pl.pl-klein) .auswahlleiste { bottom: 92px; }
}
.verw-eintrag.check { border-bottom-color: var(--accent); background: var(--accent-soft); }
.verw-buehne { width: 100%; }
/* Im Streifen sind die Überschriften Trennzeichen, keine Zeilen. */
.verw-gruppe { padding: 0 var(--s-snug); align-self: center; white-space: nowrap; }
}
/* --- Bildzuschnitt --------------------------------------------------------
*
* **Weil ein Profilbild rund ist.** Was hochgeladen wird, ist selten
* quadratisch. Den Ausschnitt dem Browser zu überlassen hiesse: mittig, und
* das trifft bei einem Porträt den Hals. */
.zuschnitt-dlg .dlg-koerper { display: flex; flex-direction: column; gap: var(--s-loose); }
.zuschnitt-buehne { display: flex; justify-content: center; }
.zuschnitt-feld {
width: 320px; height: 320px; max-width: 100%;
border-radius: 50%; background: var(--placeholder);
cursor: grab; touch-action: none;
box-shadow: 0 0 0 1px var(--line);
}
.zuschnitt-feld:active { cursor: grabbing; }
/* --- Kontextmenü ---------------------------------------------------------
*
* Gesehen, Favorit und Weglegen gab es nur auf der Detailseite. In einer