Add newsletter subscription into the register flow
This could be part of #56 (closed), but we're now at a place where we're not collecting emails before showing them the app and letting them register, so we won't be able to email anyone who signs up between now and this issue being resolved.
In order to set this up, we'll need a checkbox (use the styles from the importer form) and text that says "Subscribe to the Passit Newsletter". Unchecked by default.
If it's checked on submit, we'll need some extra JavaScript. You can look at the scripts.js file in passit-marketing for what I did on the marketing site, but a lot of it won't translate. The core stuff you need is:
- You're submitting to
https://api.moonmail.io/lists/cj5cigh41000601pb7qr6a6s4/subscribe
- You're submitting a JSON string that looks like this:
{
"u": "Z29vZ2xlLW9hdXRoMnwxMDc5MTk2MzIzODU5NTg2MTEzNDE",
"email": <email address>,
}
- 200 response is good, 400 response is...not necessarily bad. It might 400 if the name is already on the list. Plus there might be other responses! The only responses I got were 200, 400 already on the list and 400 invalid email, which our frontend validation will cover. Not sure what else is out there. Anyways, don't let errors with MoonMail mess with the signup process.
That should be it. If the correct object is sent out, the user will get an extra email to confirm their subscription to the newsletter. Which is weird, right? Most people don't do this. But given that we don't have anything in the backend to handle this, it'll do for now.