diff options
Diffstat (limited to 'app/check.js')
-rw-r--r-- | app/check.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/check.js b/app/check.js new file mode 100644 index 0000000..294e02a --- /dev/null +++ b/app/check.js @@ -0,0 +1,34 @@ +function checkboxButton(id) { + const checkboxElement = document.createElement('i'); + + checkboxElement.classList.add('fa-regular'); + checkboxElement.classList.add('fa-square'); + + checkboxElement.setAttribute('title', 'Mark as done'); + + checkboxElement.addEventListener('click', (click) => { + checkElement(click.target, id); + }); + + return checkboxElement; +} + +function checkElement(element, id) { + if (element.classList.contains('fa-square')) { + element.classList.remove('fa-square'); + element.classList.add('fa-square-check'); + element.parentNode.style.textDecoration = 'line-through'; + element.parentNode.style.opacity = '0.7'; + id = jsList.findIndex(el => el.id == id) + jsList[id].done = true; + localStorage.setItem('jsList', JSON.stringify(jsList)); + } else { + element.classList.add('fa-square'); + element.classList.remove('fa-square-check'); + element.parentNode.style.textDecoration = ''; + element.parentNode.style.opacity = ''; + id = jsList.findIndex(el => el.id == id) + jsList[id].done = false; + localStorage.setItem('jsList', JSON.stringify(jsList)); + } +}
\ No newline at end of file |