BUG: compose layout regressions from #12 (margins, section headers bleed, gültig-bis/max-aufrufe misaligned) #13
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug — introduced by #12's compose polish (live on sendmy.cards)
m's report after the #12 deploy:
Margins are off now. Spacing got broken by the #12 changes — general margin/padding regression in the compose flow.
Category/section headers bleed into the previous section. The section headers (e.g. „für wen“ and „deine Nachricht“) overlap upward into the preceding form block — looks like a negative/with collapsing margin or insufficient top spacing on the section header so it rides into the block above it. Fix the section-header spacing so each header sits cleanly under its own gap, not overlapping the prior section.
„Gültig bis“ and „Max. Aufrufe“ have different line-breaks → their input fields are not at the same height. The two labels wrap to a different number of lines, so the inputs beneath them end up vertically misaligned (ragged row). Make the pair align — equal label block height (or consistent wrapping / align inputs to a shared baseline) so the two fields sit at the same height.
Scope
CSS/markup only —
web/static/style.css(+web/templates/compose.htmlif needed). No logic/feature change. This is a regression-fix on #12; keep all #12 wins (unified media picker, to/from toggle + URL preview, An/von adjacency, equal-size tiles).Constraints
.choice/.swatchgrids).DoD
Fixed — compose layout regressions (#13)
Reproduced all three issues with headless-chrome screenshots of the rendered compose form at 375 px (mobile) and 900 px (desktop), then fixed them in
web/static/style.css. CSS-only — no markup or logic change; all #12 wins kept.Root cause & fix
1 + 2 — Margins off / section headers bleed into the previous block
The section headers came in two flavours with mismatched top spacing: block
<label>hadmargin-top: 1rem, but.choice-label(e.g. „Für wen?“) had onlymargin-top: 0.4rem. After #12 reordered the fields this left „Für wen?“ and „Deine Nachricht“ jammed directly against the tile grid above them.Fix: one consistent section rhythm —
.choice-labeland blocklabelnow both use a generous gap above (1.4rem) and a tight gap below so each header binds to its own control, not the section above. The first chooser inside the Gestaltung fieldset keeps a small top margin (the<legend>already separates it). The An/Von name-pair owns its own top + row gap so stacked rows stay even.3 — „Gültig bis“ / „Max. Aufrufe“ inputs at different heights
„Max. Aufrufe (optional)“ wraps to two lines on narrow viewports while „Gültig bis (optional)“ stays on one, so the inputs beneath them went ragged.
Fix: each
.life-fieldis now a flex column with the input pinned to the bottom (margin-top: auto); the row stretches both fields to equal height, so the two inputs always align on a shared baseline regardless of how the labels wrap (robust to any label/translation length).Verified
Measured the rendered geometry at both widths:
Consistent section spacing throughout; the two lifecycle inputs bottom-align even with the 2-line vs 1-line label wrap.
go build/go vet/go test ./...— all green.Commit:
620069e333Branch:
mai/hermes/issue-13-bug-composeReady for otto-head to merge + deploy.
✅ Merged & deployed — layout regressions fixed
Merged
620069e(mergee8d6df3), deployed. CSS-only (style.css, +30/-7): section-header bleed fixed, margins consistent, „Gültig bis“ + „Max. Aufrufe“ fields aligned. build green. Please eyeball it on sendmy.cards. Not closing — m closes.