feat: free-form salutation (Anrede) — replace 'an wen', drop the 'für' prefix #26
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?
What (m, PWA)
m: „lass uns das ‚für' in der Adresszeile der Karten entfernen … Vielleicht machen wir die gesamte Anrede customized? … Keine Auswahl — wir ändern einfach das ‚an wen' zu Anrede.“
Two linked changes:
Details / interactions to handle
recipient_name(rename label + placeholder/hint, e.g. „z. B. Liebe Oma Erika“; keep the column, just repurpose semantics — no migration needed). Render the stored value verbatim as the salutation line.Constraints
Mobile-first, German + Umlaute. No regression to broadcast (#4), occasions (#10), An/von layout (#12), preview (#15), admin (#19). Verbatim render — don't escape-mangle Umlaute.
Sequencing
Compose + render + preview + admin → same single-worker compose track, after the in-flight styling block (#23/#24/#25). otto-head assigns when that merges.
DoD
#26 free-form „Anrede“ + #27 collapsible field hints — done
otto-head bundled #27 into this shift (same compose UI), so both ship in one commit.
#26 — free-form salutation
to-linenow renders the stored value verbatim — no „Für“/„An:“ prefix and no added comma. Page<title>also drops „Für“.recipient_namecolumn (no migration).📢 An alle · Anrede: Hallo ihr Lieben).#27 — collapse verbose hints behind „ⓘ“
<details>/<summary>: works with no JS (tap toggles), keyboard- and screen-reader-accessible (aria-labelon the toggle,aria-describedbyon the input). Hint content is preserved, not deleted. The popover is absolutely positioned, so revealing it never reflows the form.Verification
go build/go vet/go test -race ./...all green. New tests:TestRenderSalutationVerbatim,TestComposeAnredeFieldAndCollapsedHints.to-line=Liebe Oma Erika(no „Für“, no comma), Umlaute intact;to-line, no stray „für“;Hallo ihr Liebenrendered verbatim;Branch
mai/hermes/issue-26-feat-free-form(not merged — otto-head merges/deploys).Commit:
057fb9a3b0✅ Merged & deployed (merge
f281b85)Verified live on sendmy.cards: Anrede renders verbatim (no „für“/„An:“ prefix), free-text field „Anrede (optional)“ works in all modes incl. broadcast; verbose field hints collapsed behind ⓘ