fix(ui): Kopfleiste auf dem Handy hatte 0px Abstand nach oben
Die Regeln der schmalen Ansicht griffen nie: Ein Inline-Stil schlägt jede Klassenregel, und `padding: '0 14px'` samt `paddingTop: var(--safe-top)` stand genau dort. Gemessen kam padding-top als 0px an statt als 8px - Titel und Nutzerbereich klebten am oberen Fensterrand. Alle Abstaende stehen jetzt im CSS-Block, schmal 14px oben und 10px unten. Dazu das mitgelieferte App-Symbol neu gezeichnet: Die drei PNG lagen als Graustufen vor, der indigo Verlauf war zu Schwarz eingeebnet. Die Wolke besteht jetzt aus drei Kreisen und einem Rechteck dazwischen - gerade Unterkante, keine Kerben in der Silhouette. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9f44215698
commit
9a2f90c89b
6 files changed
+58
-12
No files matched your search
@@ -42,12 +42,14 @@ export default function PageHeader({ icon, title, meta, left, children }: Props)
|
||||
const openSidebar = useSidebarToggle()
|
||||
return (
|
||||
<div className="aether-header" style={{
|
||||
// Feste Höhe nur auf breiten Schirmen (siehe CSS unten). Auf dem Handy
|
||||
// wächst die Leiste auf zwei Zeilen, statt ihren Inhalt zu verstecken.
|
||||
padding: '0 14px',
|
||||
// Statusleiste der installierten App. Die Kopfleiste ist jetzt die
|
||||
// oberste Zeile der Anwendung – vorher lag darüber noch eine zweite.
|
||||
paddingTop: 'var(--safe-top)',
|
||||
// **Kein padding hier.** Die Abstände stehen samt und sonders im
|
||||
// CSS-Block unten.
|
||||
//
|
||||
// Grund, gemessen: Ein Inline-Stil schlägt jede Klassenregel. Solange
|
||||
// hier `padding: '0 14px'` und `paddingTop: 'var(--safe-top)'` standen,
|
||||
// waren die Regeln der schmalen Ansicht wirkungslos – `padding-top`
|
||||
// kam als 0px an statt als 8px, und die Titelzeile klebte am oberen
|
||||
// Rand des Fensters. Im Browser fiel es auf, weil dort --safe-top 0 ist.
|
||||
background: 'var(--color-surface)',
|
||||
borderBottom: '1px solid var(--color-border)',
|
||||
display: 'flex', alignItems: 'center', gap: 10,
|
||||
@@ -146,7 +148,13 @@ export default function PageHeader({ icon, title, meta, left, children }: Props)
|
||||
</div>
|
||||
|
||||
<style>{`
|
||||
.aether-header { min-height: ${headerHeight - 1}px; }
|
||||
/* Grundabstände. Oben kommt der Bereich der Statusleiste dazu –
|
||||
in der installierten App ist die Kopfleiste die oberste Zeile. */
|
||||
.aether-header {
|
||||
min-height: ${headerHeight - 1}px;
|
||||
padding: 0 14px;
|
||||
padding-top: var(--safe-top);
|
||||
}
|
||||
|
||||
/* Breit: erst die Bedienelemente der Ansicht, dann – durch eine
|
||||
Trennlinie abgesetzt – der Nutzerbereich, ganz rechts. */
|
||||
@@ -157,9 +165,11 @@ export default function PageHeader({ icon, title, meta, left, children }: Props)
|
||||
}
|
||||
|
||||
@media not all and ${wideEnough} {
|
||||
/* Schmal braucht die Zeile echte Luft: Ohne sie stoßen Titel und
|
||||
Nutzerbereich direkt an die Adressleiste des Browsers. */
|
||||
.aether-header {
|
||||
padding-top: calc(8px + var(--safe-top));
|
||||
padding-bottom: 8px;
|
||||
padding-top: calc(14px + var(--safe-top));
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
/* Schmal: Nutzerbereich noch in der Titelzeile ganz rechts, die
|
||||
Bedienelemente darunter über die volle Breite.
|
||||
|
||||
Reference in new issue
Block a user