fix: Ausrüstungs-Slots wuchsen/Waffenreihe rutschte je nach Trankanzahl #16

Merged
DasAoD merged 1 commit from fix/potion-row-layout-shift into main 2026-08-03 17:12:29 +02:00
Owner

Problem

Bei Charakteren mit weniger als 3 aktiven Tränken (oder keinem) wurden die Ausrüstungs-Slot-Kacheln links/rechts größer und die Waffenreihe rutschte nach oben — sichtbar im Vergleich mehrerer Charaktere mit 3/2/0 aktiven Tränken.

Ursache

.char-hero ist ein Grid mit Spalten 1fr auto 1fr. Die Breite der mittleren (auto) Spalte richtet sich nach ihrem Inhalt. Bisher wurden nur tatsächlich aktive Tränke gerendert (0–3 Kacheln je nach Charakter), bei keinem aktiven Trank stattdessen ein Text ("Keine aktiven Tränke") angezeigt. Das verändert die intrinsische Breite der mittleren Spalte, wodurch sich die verfügbare Breite für die beiden 1fr-Ausrüstungsspalten — und damit die Größe der quadratischen (aspect-ratio: 1) Slot-Kacheln — je nach Trankanzahl verschiebt. Die Waffenreihe rutscht zusätzlich nach oben, weil die Tränke-Zeile weniger vertikalen Platz einnimmt, wenn dort nur Text statt Icon-Kacheln steht.

Fix

sf-api liefert active_potions ohnehin als festes 3er-Array ([Option<Potion>; 3]). guild.js rendert jetzt immer genau 3 Tränke-Kacheln — leere Slots als gedimmter Platzhalter (analog zu leeren Ausrüstungs-Slots), statt sie wegzufiltern oder durch Text zu ersetzen. Damit bleiben Spaltenbreite und Zeilenhöhe unabhängig von der Trankanzahl konstant.

## Problem Bei Charakteren mit weniger als 3 aktiven Tränken (oder keinem) wurden die Ausrüstungs-Slot-Kacheln links/rechts größer und die Waffenreihe rutschte nach oben — sichtbar im Vergleich mehrerer Charaktere mit 3/2/0 aktiven Tränken. ## Ursache `.char-hero` ist ein Grid mit Spalten `1fr auto 1fr`. Die Breite der mittleren (`auto`) Spalte richtet sich nach ihrem Inhalt. Bisher wurden nur tatsächlich aktive Tränke gerendert (0–3 Kacheln je nach Charakter), bei keinem aktiven Trank stattdessen ein Text ("Keine aktiven Tränke") angezeigt. Das verändert die intrinsische Breite der mittleren Spalte, wodurch sich die verfügbare Breite für die beiden `1fr`-Ausrüstungsspalten — und damit die Größe der quadratischen (aspect-ratio: 1) Slot-Kacheln — je nach Trankanzahl verschiebt. Die Waffenreihe rutscht zusätzlich nach oben, weil die Tränke-Zeile weniger vertikalen Platz einnimmt, wenn dort nur Text statt Icon-Kacheln steht. ## Fix `sf-api` liefert `active_potions` ohnehin als festes 3er-Array (`[Option<Potion>; 3]`). `guild.js` rendert jetzt immer genau 3 Tränke-Kacheln — leere Slots als gedimmter Platzhalter (analog zu leeren Ausrüstungs-Slots), statt sie wegzufiltern oder durch Text zu ersetzen. Damit bleiben Spaltenbreite und Zeilenhöhe unabhängig von der Trankanzahl konstant.
.char-hero ist ein Grid mit den Spalten 1fr/auto/eine 1fr — die Breite der
mittleren (auto) Spalte ergibt sich aus ihrem Inhalt. Bisher wurden nur
aktive Tränke gerendert (0-3 Kacheln je nach Charakter) bzw. bei keinem
aktiven Trank ein Text ("Keine aktiven Tränke") statt Kacheln angezeigt.
Das änderte die intrinsische Breite der mittleren Spalte, wodurch sich die
verfügbare Breite für die beiden 1fr-Ausrüstungsspalten links/rechts (und
damit die Größe der quadratischen Slot-Kacheln) je nach Trankanzahl verschob.
Gleichzeitig verschob sich die Waffenreihe nach oben, weil die Tränke-Zeile
weniger vertikalen Platz einnahm.

sf-api liefert active_potions ohnehin als festes 3er-Array
([Option<Potion>; 3]) — jetzt werden immer genau 3 Kacheln gerendert,
leere als gedimmter Platzhalter analog zu leeren Ausrüstungs-Slots. Damit
bleibt die mittlere Spaltenbreite und die Zeilenhöhe konstant.
DasAoD merged commit 05686fec49 into main 2026-08-03 17:12:29 +02:00
Sign in to join this conversation.
No description provided.