diff --git a/packages/sitetile/astro/content/forms.md b/packages/sitetile/astro/content/forms.md index 3dd372d..22cba64 100644 --- a/packages/sitetile/astro/content/forms.md +++ b/packages/sitetile/astro/content/forms.md @@ -1,6 +1,6 @@ --- sitetile-page: forms -title: Form coverage โ wired to an inbox, and deliberately not +title: Form coverage โ wired to an inbox, wired to the reef, and deliberately not lang: en-US --- @@ -22,6 +22,19 @@ action in that app. See the note in Form.astro. - Something else ### Tell us more {textarea} +## Wired to the reef inbox +%% sitetile: form action=inbox submit="Send it" %% +The one special `action=` value: `inbox` posts to this site's own same-origin +forwarder (`/__reef/inbox`, relayed by the site's own `_worker.js`) โ no +cross-origin CSRF wall to hit. `method=` is ignored; the forwarder only accepts +POST. `Text` below is deliberately a field label that collides with one of the +forwarder's reserved wire names. + +### Your name +### Email {email} +### Text +### Tell us more {textarea} + ## Not wired to anything %% sitetile: form submit="Send it" %% ๐ฉธ The same coral with nowhere to send. Before 2026-08-15 this rendered a LIVE diff --git a/packages/sitetile/astro/smoke-build.mjs b/packages/sitetile/astro/smoke-build.mjs index 5aba47d..87b2cb2 100644 --- a/packages/sitetile/astro/smoke-build.mjs +++ b/packages/sitetile/astro/smoke-build.mjs @@ -99,6 +99,12 @@ const ALLOWED_INLINE = [ // Signatures are STRING LITERALS, not identifiers โ minification renames locals every build. ['signet locale banner (Lingo suggest-your-language)', 'signet-locale-banner-dismiss'], ['language chooser (/language route)', '[data-language-link]'], + // form: action=inbox only. Progressive enhancement over a real POST/GET-less static + // build โ the coral cannot read `?inbox=` at build time, so a tiny script toggles the + // pre-rendered (server-hidden) status line after a real submit redirects back here. A + // no-JS visitor still gets a working