ggs-header Batch 2 Start: Farmer + Komponenten-Vorruestung

- Komponente: Logo-Fallback (Kreis-Logo wenn Sim keins hat), Overlay-Modus
  (data-ggs-overlay fuer Vollbild-Canvas), generische Icon-Button-Optik fuer
  Aktionen ohne .ggs-btn-ghost-Klasse, Ton-IDs erweitert (audio-toggle/btnSound).
- Farmer als erstes Bespoke-Muster: ggs-topbar -> ggs-header, schwebende Pille
  (Fallback-Logo + Titel) + Geld-KPI + Icon-Buttons; interne Fachinfo bleibt
  (data-ggs-no-glossar).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-25 14:33:53 +02:00
parent c913522a77
commit 7b1bdb8d1b
3 changed files with 63 additions and 11 deletions
+39
View File
@@ -23,6 +23,16 @@
flex-wrap: nowrap;
}
/* Overlay-Modus: Zeile schwebt über Vollbild-Canvas (Heli, Tourismus …).
Der Sim-Canvas muss dann bis top:0 laufen; Sim-eigene Top-HUDs ggf.
nach unten schieben (siehe Kofferdetektiv). */
.ggs-header--float.ggs-header--overlay {
position: absolute;
left: 0;
right: 0;
top: 0;
}
/* --- Marken-Pille: Kreis-Logo · Titel · Level ---------------- */
.ggs-header--float .ggs-hpille {
display: flex;
@@ -61,6 +71,8 @@
font-size: .92rem;
white-space: nowrap;
line-height: 1;
margin: 0;
padding: 0;
}
.ggs-header--float .ggs-header-badge {
font-size: .6rem;
@@ -115,6 +127,33 @@
gap: .5rem;
flex: none;
}
/* Bespoke-Sims: Buttons/Links in den Aktionen ohne .ggs-btn-ghost-Klasse
bekommen trotzdem die schwebende Icon-Button-Optik. */
.ggs-header--float .ggs-header-actions > button,
.ggs-header--float .ggs-header-actions > a {
width: 38px;
height: 38px;
border-radius: 12px;
border: none;
background: rgba(255, 255, 255, .96);
box-shadow: 0 2px 9px rgba(0, 0, 0, .2);
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
color: #1f4e5a;
padding: 0;
flex: none;
text-decoration: none;
font-size: 17px;
line-height: 1;
transition: background .15s, transform .1s;
}
.ggs-header--float .ggs-header-actions > button:hover,
.ggs-header--float .ggs-header-actions > a:hover {
background: #fff;
transform: translateY(-1px);
}
/* --- Tempo-Zustandsbutton (zeigt IMMER den aktuellen Speed) --- */
.ggs-header--float .ggs-tempo { position: relative; display: inline-flex; }