-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
1 lines (1 loc) · 1.92 KB
/
script.js
File metadata and controls
1 lines (1 loc) · 1.92 KB
1
document.getElementById("year").textContent=(new Date).getFullYear();const menuToggle=document.getElementById("menu-toggle"),menu=document.getElementById("nav_menu"),closeMenu=document.getElementById("close-menu");menuToggle.addEventListener("click",(()=>{menu.classList.add("open"),menuToggle.setAttribute("aria-expanded","true")})),closeMenu.addEventListener("click",(()=>{menu.classList.remove("open"),menuToggle.setAttribute("aria-expanded","false")}));const EMAILJS_PUBLIC_KEY="_zaPKtVyBE8T5Q5l9",EMAILJS_SERVICE_ID="service_g5c0tlz",EMAILJS_TEMPLATE_ID="template_i9cz6sb";emailjs.init(EMAILJS_PUBLIC_KEY);const form=document.getElementById("contactForm"),toast=document.getElementById("toast");form.addEventListener("submit",(function(e){e.preventDefault();const t=form.querySelector('button[type="submit"]');t.disabled=!0,emailjs.sendForm("service_g5c0tlz","template_i9cz6sb","#contactForm").then((()=>{form.reset(),toast.style.display="block",setTimeout((()=>toast.style.display="none"),3e3)})).catch((e=>{alert("Failed to send message: "+JSON.stringify(e))})).finally((()=>{t.disabled=!1}))}));const toggle=document.getElementById("theme-toggle"),currentTheme=localStorage.getItem("theme")||"dark";document.documentElement.setAttribute("data-theme",currentTheme),toggle.innerHTML="light"===currentTheme?'<i class="fa-solid fa-moon"></i>':'<i class="fa-solid fa-sun"></i>',toggle.addEventListener("click",(()=>{const e="light"===document.documentElement.getAttribute("data-theme")?"dark":"light";document.documentElement.setAttribute("data-theme",e),localStorage.setItem("theme",e),toggle.innerHTML="light"===e?'<i class="fa-solid fa-moon"></i>':'<i class="fa-solid fa-sun"></i>'}));try{const e=document.getElementById("cv");e&&e.addEventListener("click",(()=>{const e=document.createElement("a");e.href="cv/Shaoun_Chandra_Shill.pdf",e.download="Shaoun_Chandra_Shill_CV.pdf",document.body.appendChild(e),e.click(),document.body.removeChild(e)}))}catch(e){}