parent
7335295dc0
commit
4dc1683d3e
@ -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" . }} |
@ -0,0 +1,44 @@ |
|||||||
|
{{ 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 unsubToken = urlParams.get('unsubToken'); |
||||||
|
|
||||||
|
if (!unsubToken) throw "No unsubscribe token provided"; |
||||||
|
|
||||||
|
const api = await import("{{ StaticURL "api.js" }}"); |
||||||
|
|
||||||
|
await api.call('/api/mailinglist/unsubscribe', { |
||||||
|
body: { unsubToken }, |
||||||
|
}); |
||||||
|
|
||||||
|
resultSpan.className = "success"; |
||||||
|
resultSpan.innerHTML = "You have been unsubscribed! Please go on about your day."; |
||||||
|
|
||||||
|
} catch (e) { |
||||||
|
resultSpan.className = "fail"; |
||||||
|
resultSpan.innerHTML = e; |
||||||
|
} |
||||||
|
|
||||||
|
})(); |
||||||
|
|
||||||
|
</script> |
||||||
|
|
||||||
|
{{ end }} |
||||||
|
|
||||||
|
{{ template "base.html" . }} |
Loading…
Reference in new issue