diff options
Diffstat (limited to 'http/public/scripts/contact/submit-otp-form.js')
| -rw-r--r-- | http/public/scripts/contact/submit-otp-form.js | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/http/public/scripts/contact/submit-otp-form.js b/http/public/scripts/contact/submit-otp-form.js deleted file mode 100644 index 8c09314..0000000 --- a/http/public/scripts/contact/submit-otp-form.js +++ /dev/null @@ -1,77 +0,0 @@ -import { actions } from "./actions.js"; -import { postErrorMessageOnOtpForm } from "./post-error-message.js"; - -/** @typedef {import("./selectors.js").Selectors} Selectors */ - -const fallbackErrorMsg = - "No can do. I'm afraid joeac.net is a bit broken right now - sorry about that."; - -/** - * @param {Selectors} selectors - */ -export async function submitOtpForm(selectors) { - const { contactForm, otpDialog, successSection } = selectors; - const otpForm = otpDialog.otpForm(); - otpDialog.submitButton()?.setAttribute("disabled", ""); - - const otpFormData = new FormData(otpForm ?? undefined); - const guess = [ - otpFormData.get("1"), - otpFormData.get("2"), - otpFormData.get("3"), - otpFormData.get("4"), - otpFormData.get("5"), - otpFormData.get("6"), - ].join(""); - - const name = contactForm.nameElem()?.value; - const email = contactForm.emailElem().value; - const message = contactForm.messageElem()?.value; - - let verifyResult; - try { - verifyResult = await actions.verifyOtp({ guess, userId: email }); - } catch (verifyError) { - otpDialog.submitButton()?.removeAttribute("disabled"); - postErrorMessageOnOtpForm( - selectors, - verifyError?.toString() ?? fallbackErrorMsg, - ); - return; - } - - if (verifyResult === false) { - otpDialog.submitButton()?.removeAttribute("disabled"); - postErrorMessageOnOtpForm(selectors, "Incorrect OTP. Check your email?"); - otpDialog.firstOtpInput()?.focus(); - return; - } - const sendmailToken = verifyResult; - - try { - await actions.sendEmail({ - email, - message: message, - name: name, - userId: email, - token: sendmailToken, - }); - } catch (sendEmailError) { - const errorMsg = sendEmailError?.toString() ?? fallbackErrorMsg; - postErrorMessageOnOtpForm(selectors, errorMsg); - otpDialog.submitButton()?.removeAttribute("disabled"); - return; - } - - const sentName = successSection.name(); - const sentEmail = successSection.email(); - const sentMessage = successSection.message(); - sentName && (sentName.textContent = name ?? "???"); - sentEmail && (sentEmail.textContent = email ?? "???"); - sentMessage && (sentMessage.textContent = message ?? "???"); - - contactForm.self()?.remove(); - successSection.self()?.removeAttribute("hidden"); - otpDialog.submitButton()?.removeAttribute("disabled"); - otpDialog.self().close(); -} |
