diff --git a/app/javascript/flavours/glitch/entrypoints/sign_up.js b/app/javascript/flavours/glitch/entrypoints/sign_up.js deleted file mode 100644 index ded1d4cbde..0000000000 --- a/app/javascript/flavours/glitch/entrypoints/sign_up.js +++ /dev/null @@ -1,42 +0,0 @@ -import '@/entrypoints/public-path'; -import axios from 'axios'; - -import ready from 'flavours/glitch/ready'; - -ready(() => { - setInterval(() => { - axios.get('/api/v1/emails/check_confirmation').then((response) => { - if (response.data) { - window.location = '/start'; - } - }).catch(error => { - console.error(error); - }); - }, 5000); - - document.querySelectorAll('.timer-button').forEach(button => { - let counter = 30; - - const container = document.createElement('span'); - - const updateCounter = () => { - container.innerText = ` (${counter})`; - }; - - updateCounter(); - - const countdown = setInterval(() => { - counter--; - - if (counter === 0) { - button.disabled = false; - button.removeChild(container); - clearInterval(countdown); - } else { - updateCounter(); - } - }, 1000); - - button.appendChild(container); - }); -}); diff --git a/app/javascript/flavours/glitch/entrypoints/sign_up.ts b/app/javascript/flavours/glitch/entrypoints/sign_up.ts new file mode 100644 index 0000000000..18e2931546 --- /dev/null +++ b/app/javascript/flavours/glitch/entrypoints/sign_up.ts @@ -0,0 +1,48 @@ +import '@/entrypoints/public-path'; +import axios from 'axios'; + +import ready from 'flavours/glitch/ready'; + +async function checkConfirmation() { + const response = await axios.get('/api/v1/emails/check_confirmation'); + + if (response.data) { + window.location.href = '/start'; + } +} + +ready(() => { + setInterval(() => { + void checkConfirmation(); + }, 5000); + + document + .querySelectorAll('button.timer-button') + .forEach((button) => { + let counter = 30; + + const container = document.createElement('span'); + + const updateCounter = () => { + container.innerText = ` (${counter})`; + }; + + updateCounter(); + + const countdown = setInterval(() => { + counter--; + + if (counter === 0) { + button.disabled = false; + button.removeChild(container); + clearInterval(countdown); + } else { + updateCounter(); + } + }, 1000); + + button.appendChild(container); + }); +}).catch((e: unknown) => { + throw e; +});