From 4d129b527ee5d3a536849209c2a4e86a64190a5d Mon Sep 17 00:00:00 2001 From: "Adam T. Carpenter" Date: Wed, 3 Jun 2020 21:50:17 -0400 Subject: done with cobalt migration --- scripts/index.js | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 scripts/index.js (limited to 'scripts/index.js') diff --git a/scripts/index.js b/scripts/index.js new file mode 100644 index 0000000..8f3a987 --- /dev/null +++ b/scripts/index.js @@ -0,0 +1,85 @@ +const showOffering = function(element) { + const offeringModal = document.getElementById(element.id + "-modal"); + offeringModal.classList.add("is-active"); +} + +const hideOffering = function(element) { + element.parentElement.classList.remove("is-active"); +} + +/* + * Adds an event listener to all burgers to toggle navbar menu on click. + * TODO: would be better off as a single function and onclicks inlined in html + */ +document.addEventListener('DOMContentLoaded', function () { + const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); + + if ($navbarBurgers.length > 0) { + // add a click event on each of them + $navbarBurgers.forEach(function(el) { + el.addEventListener('click', function () { + // get the target from the 'data-target' attribute + const target = el.dataset.target; + const $target = document.getElementById(target); + + // toggle the 'is-active' class on both the 'navbar-burger' and the 'navbar-menu' + el.classList.toggle('is-active'); + $target.classList.toggle('is-active'); + }); + }); + } +}); + +const disableErrorBox = function() { + document.getElementById("errorBox").style.display = "none"; +} + +const disableSuccessBox = function() { + document.getElementById("successBox").style.display = "none"; +} + +const enableErrorBox = function(message) { + const errorBox = document.getElementById("errorBox"); + let aTag = document.createElement('a'); + aTag.setAttribute("href", "mailto:amy@carpentertutoring.com"); + aTag.innerText = message + " Click here to send through your mail client."; + while (errorBox.hasChildNodes()) { errorBox.removeChild(errorBox.lastChild); } + errorBox.appendChild(aTag); + errorBox.style.display = "block"; +} + +const enableSuccessBox = function() { + document.getElementById("successBox").style.display = "block"; +} + +/* + * Adds mail sender to form submit. + */ +document.forms.inquiry.onsubmit = function() { + disableErrorBox(); + disableSuccessBox(); + const form = document.forms.inquiry; + const name = form.elements.name.value; + const fromEmail = form.elements.from.value; + const body = form.elements.body.value; + + Email.send({ + SecureToken : "cec9bc04-de48-48fd-b1ad-a95cffb41468", + To : "amy@carpentertutoring.com", + From : fromEmail, + Subject : "Tutoring Inquiry from " + name, + Body : body, + }).then(message => { + if (message == "OK") { + form.reset(); + enableSuccessBox(); + } + else { + enableErrorBox(message); + } + } + ); + + return false; +} + -- cgit v1.2.3