(function () {
|
const feedbackForm = document.querySelector("#helpful-form");
|
|
const yesNoButtons = feedbackForm.querySelectorAll("[type='radio']");
|
const moreDetails = feedbackForm.querySelector("#helpful-more");
|
const cancelButton = feedbackForm.querySelector(
|
"#helpful-form-cancel-button"
|
);
|
const confirmation = feedbackForm.querySelector("#helpful-more-confirmation");
|
|
const closeForm = () => {
|
yesNoButtons.forEach((button) => (button.checked = false));
|
moreDetails.style.display = "none";
|
};
|
|
const openForm = () => {
|
moreDetails.style.display = "block";
|
};
|
|
const submitForm = (e) => {
|
e.preventDefault();
|
|
const formData = new FormData(e.target);
|
|
const data = {
|
feedback: formData.get("feedback"),
|
helpful: formData.get("helpful"),
|
email: formData.get("email"),
|
pageURL: window.location.href.split("#")[0],
|
pageTitle: document.title,
|
submittedOn: new Date().toLocaleDateString("en-CA"),
|
};
|
|
fetch(`${window.location.origin}/.netlify/functions/gather-feedback`, {
|
method: "POST",
|
body: JSON.stringify(data),
|
}).then((response) => {
|
if (response.status === 200) {
|
console.log("success");
|
moreDetails.style.display = "none";
|
confirmation.style.display = "block";
|
}
|
});
|
};
|
|
yesNoButtons.forEach((button) => button.addEventListener("change", openForm));
|
|
cancelButton.addEventListener("click", closeForm);
|
feedbackForm.addEventListener("submit", submitForm);
|
})();
|