-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path71ad6e56edde51777445.js
1 lines (1 loc) · 3.35 KB
/
71ad6e56edde51777445.js
1
!function(){"use strict";const e=document.querySelector(".form__input"),t=()=>e.focus(),o=e=>localStorage.getItem(e),l=document.querySelector(".form__list"),s=()=>{const t="light"===o("theme")?["","",""]:["form__list-item_theme-dark","form__polygon_theme-dark","form__list-label_dark-theme"];let[s,a,n]=t,c="";r.forEach(((t,o)=>{c+=`\n\t\t<li class ='form__list-item ${s}'>\n\t\t\t<input class = 'form__list-checkbox' type ='checkbox' id='item_${o}' ${t.checked?"checked":""}>\n\t\t\t<label class = 'form__list-label ${n}' for ='item_${o}'><span>${t.value}</span></label>\n\n\t\t\t<svg class ='form__delete-list' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><polygon class ='form__polygon ${a}' points="404.176,0 256,148.176 107.824,0 0,107.824 148.176,256 0,404.176 107.824,512 256,363.824 404.176,512 512,404.176 363.824,256 512,107.824"/></svg>\n\n\t\t</li>`,l.innerHTML=c,e.value=""}))};let r=[];const a=(e,t)=>localStorage.setItem(e,t),n=[{selector:"body",class:"body_theme-dark"},{selector:".inner",class:"inner_theme-dark"},{selector:".form__title",class:"form__title_theme-dark"},{selector:".form__list-item",class:"form__list-item_theme-dark"},{selector:".form__polygon",class:"form__polygon_theme-dark"},{selector:".form__label-task",class:"form__label-task_theme-dark"},{selector:".button-up-rect",class:"button-up-rect_theme-dark"},{selector:".button-up-arrow",class:"button-up-arrow_theme-dark"},{selector:".toggle-theme path",class:"toggle-theme_dark"},{selector:".form__list-label",class:"form__list-label_dark-theme"}],c=(e,t)=>{n.forEach((t=>{document.querySelectorAll(t.selector).forEach((o=>o.classList[e](t.class)))})),a("theme",t)},i=e=>{o("theme")===e?c("add","dark"):c("remove","light")},d=t=>e.classList[t]("form__input_error"),_={basic:"Description",duplication:"This value already exists.",empty:"The input field is empty."},m=t=>{e.setAttribute("placeHolder",_[t])},u=document.querySelector(".form__task-btn"),f=()=>{d("remove"),u.classList.remove("form__task-btn_disabled"),u.textContent="ADD",m("basic"),u.removeAttribute("disabled")},h=document.querySelector(".button-up"),b=o=>{o.preventDefault();const l=e.value.trim();0===l.length?(d("add"),u.classList.add("form__task-btn_disabled"),u.textContent="❌",m("empty"),u.setAttribute("disabled",""),t()):(e=>r.some((t=>t.value===e)))(l)?(t(),m("duplication"),d("add"),e.value=""):(()=>{let t={value:e.value,checked:!1};r.push(t),s(),a("todo",JSON.stringify(r))})()},p={".form__list":e=>(e=>{const t=e.target;if(t.closest(".form__delete-list")){const e=t.closest("li"),o=e.querySelector("label").textContent,l=r.findIndex((e=>e.value===o));-1!==l&&(r.splice(l,1),a("todo",JSON.stringify(r)),e.remove())}})(e),".form__task-btn":e=>b(e),".toggle-theme":()=>i("light"),".button-up":()=>window.scrollTo(0,0)};window.addEventListener("load",(()=>{(()=>{const e=o("todo");e&&(r=JSON.parse(e),s())})(),i("dark")})),e.addEventListener("keydown",f),e.addEventListener("blur",f),l.addEventListener("change",(e=>(e=>{const t=e.target.getAttribute("id"),o=l.querySelector(`[for=${t}]`).textContent,s=r.find((e=>e.value===o));s&&(s.checked=!s.checked,a("todo",JSON.stringify(r)))})(e))),window.addEventListener("click",(e=>((e,t)=>{const o=e.target;for(const l in t)if(o.closest(l)){t[l](e);break}})(e,p))),window.addEventListener("scroll",(()=>window.scrollY>=232?h.style.display="block":h.style.display="none")),window.addEventListener("keydown",t)}();