feat: bell-tower favicon, lfx-clean flows, branded HTML mail
This commit is contained in:
parent
672faf3af8
commit
df5c1e296c
15 changed files with 288 additions and 30 deletions
16
PLAN_NEXT.md
16
PLAN_NEXT.md
|
|
@ -135,6 +135,22 @@ request); anything else → 403 and the frontend forwards to
|
|||
`/access?email=…` (prefilled). Rate-limited (5/hour), token by mail only,
|
||||
delivery failures never 500 (see §0.4 hardening).
|
||||
|
||||
## 0.6 Polish round (bell-tower favicon, lfx-clean flows, HTML mail)
|
||||
|
||||
* Favicon simplified to a stylized bell tower (spire + shaft + bell-arch
|
||||
knockout); PNGs regenerated via `npm run icons`.
|
||||
* `lfx validate --level 4` now green for ALL canonical flows + regression
|
||||
test (`test_lfx_validate.py`). Root cause: required form fields have no
|
||||
edge (values arrive via the form_values envelope). Fix: generator writes
|
||||
a single-space sentinel value for required template fields; the form
|
||||
parser treats whitespace-only values as "no default". L3
|
||||
Message-vs-str warnings are known lfx-validator noise (MessageTextInput
|
||||
accepts Message at runtime).
|
||||
* New-input authoring docs: `backend/components/kirche/README.md`.
|
||||
* Magic-link + access-notification mails are branded multipart
|
||||
(text + HTML): kirchenblau header, serif headline, real button link,
|
||||
German copy, email-safe tables/inline styles, no external assets.
|
||||
|
||||
## 1. Locked decisions (do not re-ask)
|
||||
|
||||
* Auth: SMTP magic-link, 15-min single-use tokens (`secrets.token_urlsafe`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue