nidus-sync/platform/email/template/initial-contact.html
Eli Ribble 2538638c9d
Create generic backend process, fix background interdependencies
This refactor was born out of the inter-dependency cycles developing
between the "background" module and just about every other module which
was caused by the background module becoming a dependency of every
module that needed to background work and the fact that the background
module was also supposedly responsible for the logic for processing
those tasks.

Instead the "background" module is now very, very shallow and relies
entirely on the Postgres NOTIFY logic for triggering jobs. There's a new
table, `job` which holds just a type and single row ID.

All told, this means that jobs can be added to the queue as part of the
API-level or platform-level transaction, ensuring atomicity, and
processing coordination is handled by the platform module, which can
depend on anything.
2026-03-16 19:52:29 +00:00

124 lines
2.7 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Welcome</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
color: #333333;
}
.container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.view-browser {
text-align: center;
font-size: 12px;
color: #777777;
padding-bottom: 15px;
}
.view-browser a {
color: #555555;
text-decoration: underline;
}
.header {
text-align: center;
padding: 20px 0;
}
.logo {
max-width: 150px;
height: auto;
}
.content {
background-color: #f9f9f9;
padding: 30px;
border-radius: 5px;
}
.button {
display: inline-block;
background-color: #0066cc;
color: #ffffff;
text-decoration: none;
padding: 12px 25px;
border-radius: 4px;
margin: 20px 0;
font-weight: bold;
}
.footer {
text-align: center;
font-size: 14px;
color: #777777;
padding: 20px 0;
}
.footer a {
color: #777777;
}
</style>
</head>
<body>
<div class="container">
{{ if not .IsBrowser }}
<div class="view-browser">
Email not displaying correctly?
<a href="{{ .C.URLViewInBrowser }}">View it in your browser</a>
</div>
{{ end }}
<div class="header">
<!-- Logo Placeholder -->
<img
src="{{ .C.URLLogo }}"
alt="Report Mosquitoes Online Logo"
class="logo"
/>
</div>
<div class="content">
<h1>Welcome</h1>
<p>
We're sending you this email because it's the first time we've gotten
this email address ({{ .C.Destination }}).
</p>
<p>
If you'd rather not receive emails from us you can reply with
"Unsubscribe" in the subject or body of the email. You can also use
the "Unsubscribe" feature of your mail client, if it supports list
unsubscribes.
</p>
<p>
If instead you'd like to confirm that you're willing to receive emails
at this address, you can do so by clicking below:
</p>
<div style="text-align: center;">
<a href="{{ .C.URLSubscribe }}" class="button"
>I want emails from Report Mosquitoes Online</a
>
</div>
</div>
<div class="footer">
<p>
This email was sent to you because you or someone else gave your email
address to Report Mosquitoes Online.
</p>
<p>
If you no longer wish to receive these updates,
<a href="{{ .C.URLUnsubscribe }}">click here to unsubscribe</a>.
</p>
<p>&copy; 2026 Gleipnir LLC. All rights reserved.</p>
</div>
</div>
</body>
</html>