diff options
Diffstat (limited to 'srv/src/http/tpl/finalize.html')
-rw-r--r-- | srv/src/http/tpl/finalize.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/srv/src/http/tpl/finalize.html b/srv/src/http/tpl/finalize.html new file mode 100644 index 0000000..8bdfceb --- /dev/null +++ b/srv/src/http/tpl/finalize.html @@ -0,0 +1,45 @@ +{{ define "body" }} + +<script async type="module" src="{{ StaticURL "api.js" }}"></script> + +<style> +#result.success { color: green; } +#result.fail { color: red; } +</style> + +<span id="result"></span> + +<script> + +(async () => { + + const resultSpan = document.getElementById("result"); + + try { + + const urlParams = new URLSearchParams(window.location.search); + const subToken = urlParams.get('subToken'); + + if (!subToken) throw "No subscription token provided"; + + const api = await import("{{ StaticURL "api.js" }}"); + + await api.call('/api/mailinglist/finalize', { + body: { subToken }, + }); + + resultSpan.className = "success"; + resultSpan.innerHTML = "Your email subscription has been finalized! Please go on about your day."; + + } catch (e) { + resultSpan.className = "fail"; + resultSpan.innerHTML = e; + } + +})(); + +</script> + +{{ end }} + +{{ template "base.html" . }} |