Fix contact/enroll confirmation being hidden along with the form it lived inside
deploy / deploy (push) Successful in 3s

Both forms nested their status message as a child of the <form>, so
form.hidden = true on success hid the confirmation right along with it —
looked like nothing happened. Contact form now resets and stays usable
(you can send another message) instead of disappearing; enroll form still
hides after signup (no reason to sign up twice), but its confirmation is
now a sibling so it actually stays visible.

Also generalized the privacy policy's language from being anchored on
email courses specifically to covering any use of the site.
This commit is contained in:
2026-07-08 18:12:39 -04:00
parent 46ae1ac430
commit cf87ca5658
3 changed files with 21 additions and 20 deletions
+18 -17
View File
@@ -5,28 +5,28 @@ description: "How ReGround collects, uses, and protects your information."
_Last updated: July 2026_ _Last updated: July 2026_
This policy explains what information ReGround collects through This policy explains what information ReGround collects through use of
reground.org and its related email courses, and what happens to it. reground.org, and what happens to it.
## What ReGround collects ## What ReGround collects
- **Contact form**: the name, email address, and message you submit. Depending on how you use the site, that may include:
- **Email courses**: the email address you sign up with, and which step of
a course you've reached (so the course can be delivered at your pace). - Your name, email address, and message, when you submit the contact form.
- **Newsletter list**: if you opt in at the end of a course (or by another - Your email address, and which step you've reached, if you sign up for
explicit signup), your email address and name, if given. something delivered by email (a course, a guide, anything similar).
- Your email address and name, if given, if you opt in to ongoing updates.
ReGround doesn't use third-party analytics, ad trackers, or tracking ReGround doesn't use third-party analytics, ad trackers, or tracking
pixels on this site. Email delivery, the course system, and the mailing pixels on this site. Everything above runs on infrastructure ReGround
list all run on infrastructure ReGround operates directly — nothing is operates directly — nothing is handed to a third-party marketing platform.
handed to a third-party marketing platform.
## Why ReGround collects it ## Why ReGround collects it
- To respond to messages sent through the contact form. - To respond to messages sent through the contact form.
- To deliver the email course(s) you sign up for. - To deliver whatever you signed up for.
- To send periodic updates to people who've explicitly opted in — never - To send periodic updates to people who've explicitly opted in — never
as a side effect of using the contact form or taking a course. as a side effect of simply using the site.
## What ReGround doesn't do ## What ReGround doesn't do
@@ -38,11 +38,12 @@ handed to a third-party marketing platform.
## Your control over it ## Your control over it
- **Unsubscribe**: every newsletter email includes an unsubscribe link. - **Unsubscribe**: every ongoing-update email includes an unsubscribe
Clicking it removes you from that list immediately. link. Clicking it removes you from that list immediately.
- **Email courses**: courses are self-paced with no ongoing subscription — - **One-off signups** (like a course): these are self-paced with no
once you've received the emails, there's nothing further to opt out of ongoing subscription — once you've received what you signed up for,
unless you also joined the newsletter list. there's nothing further to opt out of unless you also joined the
ongoing updates list.
- **Deletion**: reach out through [the contact form](/contact/) and - **Deletion**: reach out through [the contact form](/contact/) and
ReGround will delete your information from these systems. ReGround will delete your information from these systems.
+2 -2
View File
@@ -18,8 +18,8 @@
</div> </div>
<button type="submit" class="btn">Send message</button> <button type="submit" class="btn">Send message</button>
<p id="contact-status" role="status" style="margin-top:1rem;"></p>
</form> </form>
<p id="contact-status" role="status" style="margin-top:1rem;"></p>
<script> <script>
(function () { (function () {
@@ -43,7 +43,7 @@
}).then(function (res) { }).then(function (res) {
if (!res.ok) throw new Error("request failed"); if (!res.ok) throw new Error("request failed");
form.reset(); form.reset();
form.hidden = true; submitBtn.disabled = false;
status.textContent = "Thanks — I'll get back to you soon."; status.textContent = "Thanks — I'll get back to you soon.";
}).catch(function () { }).catch(function () {
submitBtn.disabled = false; submitBtn.disabled = false;
+1 -1
View File
@@ -13,8 +13,8 @@
</div> </div>
<button type="submit" class="btn">Send me day one</button> <button type="submit" class="btn">Send me day one</button>
<p id="enroll-status" role="status" style="margin-top:1rem;"></p>
</form> </form>
<p id="enroll-status" role="status" style="margin-top:1rem;"></p>
<script> <script>
(function () { (function () {