summaryrefslogtreecommitdiff
path: root/app/check.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/check.js')
-rw-r--r--app/check.js34
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