parent
ec4aac24ab
commit
9c3ea8dd80
@ -0,0 +1,53 @@ |
|||||||
|
--- |
||||||
|
layout: page |
||||||
|
title: "" |
||||||
|
nofollow: true |
||||||
|
--- |
||||||
|
|
||||||
|
<style> |
||||||
|
#result.success { color: green; } |
||||||
|
#result.fail { color: red; } |
||||||
|
</style> |
||||||
|
|
||||||
|
<span id="result"></span> |
||||||
|
|
||||||
|
<script> |
||||||
|
|
||||||
|
(async () => { |
||||||
|
const resultSpan = document.getElementById("result"); |
||||||
|
|
||||||
|
function setErr(errStr) { |
||||||
|
resultSpan.className = "fail"; |
||||||
|
resultSpan.innerHTML = errStr; |
||||||
|
} |
||||||
|
|
||||||
|
const urlParams = new URLSearchParams(window.location.search); |
||||||
|
const subToken = urlParams.get('subToken'); |
||||||
|
|
||||||
|
if (!subToken) { |
||||||
|
setErr("No subscription token provided"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
const finalizeForm = new FormData(); |
||||||
|
finalizeForm.append('subToken', subToken); |
||||||
|
|
||||||
|
const finalizeReq = new Request('/api/mailinglist/finalize', { |
||||||
|
method: 'POST', |
||||||
|
body: finalizeForm, |
||||||
|
}); |
||||||
|
|
||||||
|
const res = await fetch(finalizeReq) |
||||||
|
.then(response => response.json()); |
||||||
|
|
||||||
|
if (res.error) { |
||||||
|
setErr(res.error); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
resultSpan.className = "success"; |
||||||
|
resultSpan.innerHTML = "Your email subscription has been finalized! Please go on about your day."; |
||||||
|
|
||||||
|
})(); |
||||||
|
|
||||||
|
</script> |
@ -0,0 +1,54 @@ |
|||||||
|
--- |
||||||
|
layout: page |
||||||
|
title: "" |
||||||
|
nofollow: true |
||||||
|
--- |
||||||
|
|
||||||
|
<style> |
||||||
|
#result.success { color: green; } |
||||||
|
#result.fail { color: red; } |
||||||
|
</style> |
||||||
|
|
||||||
|
<span id="result"></span> |
||||||
|
|
||||||
|
<script> |
||||||
|
|
||||||
|
(async () => { |
||||||
|
const resultSpan = document.getElementById("result"); |
||||||
|
|
||||||
|
function setErr(errStr) { |
||||||
|
resultSpan.className = "fail"; |
||||||
|
resultSpan.innerHTML = errStr; |
||||||
|
} |
||||||
|
|
||||||
|
const urlParams = new URLSearchParams(window.location.search); |
||||||
|
const unsubToken = urlParams.get('unsubToken'); |
||||||
|
|
||||||
|
if (!unsubToken) { |
||||||
|
setErr("No unsubscribe token provided"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
const unsubscribeForm = new FormData(); |
||||||
|
unsubscribeForm.append('unsubToken', unsubToken); |
||||||
|
|
||||||
|
const unsubscribeReq = new Request('/api/mailinglist/unsubscribe', { |
||||||
|
method: 'POST', |
||||||
|
body: unsubscribeForm, |
||||||
|
}); |
||||||
|
|
||||||
|
const res = await fetch(unsubscribeReq) |
||||||
|
.then(response => response.json()); |
||||||
|
|
||||||
|
if (res.error) { |
||||||
|
setErr(res.error); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
resultSpan.className = "success"; |
||||||
|
resultSpan.innerHTML = "You have been unsubscribed! Please go on about your day."; |
||||||
|
|
||||||
|
})(); |
||||||
|
|
||||||
|
</script> |
||||||
|
|
Loading…
Reference in new issue