Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
LamaSaad24 committed Sep 29, 2023
2 parents bb0cbc6 + 851e6cf commit a238e90
Showing 1 changed file with 64 additions and 2 deletions.
66 changes: 64 additions & 2 deletions assets/js/main.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,73 @@
let toDo=document.getElementById("toDo"),taskInput=document.getElementById("task"),list=document.getElementById("list"),addBtn=document.getElementById("addBtn"),editBtn=document.getElementById("editBtn"),tasks=[];function getTasksFromLocalStorage(){tasks=localStorage.getItem("tasks")?JSON.parse(localStorage.getItem("tasks")):(localStorage.setItem("tasks",tasks),[])}function setTasksToLocalStorage(t){localStorage.setItem("tasks",JSON.stringify(t))}function displayTasks(){let e="";for(let t=0;t<tasks.length;t++)e+=`
<div class="item col-3 my-2 d-flex flex-column justify-content-center align-items-center">
<h2 class="mb-3">${tasks[t]}</h2>
<h2 class="mb-3">${tasks[i]}</h2>
<div class="d-flex flex-row justify-content-end mb-1">
<a href="#" class="text-primary" data-mdb-toggle="tooltip" title="Edit todo" onclick="editTask(${t})"><i
class="fas fa-pencil-alt me-3"></i></a>
<a href="#" class="text-danger" data-mdb-toggle="tooltip"
title="Delete todo" onclick="deleteTask(${t})"><i class="fas fa-trash-alt"></i></a>
</div>
</div>
`;list.innerHTML=e}function clearTaskInput(){taskInput.value=""}function deleteTask(t){tasks.splice(t,1),setTasksToLocalStorage(tasks),displayTasks()}function removeBtnEdit(){editBtn.classList.add("d-none")}function removeBtnAdd(){addBtn.classList.add("d-none")}function displayBtnEdit(){editBtn.classList.remove("d-none")}function displayBtnAdd(){addBtn.classList.remove("d-none")}getTasksFromLocalStorage(),"undefined"!=typeof Storage?console.log("LocalStorage is supported."):toDo.innerHTML='<h1 class="bg-danger py-2 text-center my-5">LocalStorage is not supported in this browser.</h1>',addBtn.addEventListener("click",function(){var t=taskInput.value;tasks.push(t),clearTaskInput(),setTasksToLocalStorage(tasks),displayTasks()});let id;function editTask(t){id=t,taskInput.value=tasks[id],removeBtnAdd(),displayBtnEdit()}function updateTask(t,e){tasks[t]=e,removeBtnEdit(),displayBtnAdd(),clearTaskInput(),setTasksToLocalStorage(tasks),displayTasks()}editBtn.addEventListener("click",function(){updateTask(id,taskInput.value)});
`;
list.innerHTML = data;
}

function clearTaskInput() {
taskInput.value = "";
}

function deleteTask(t) {
tasks.splice(t, 1), setTasksToLocalStorage(tasks), displayTasks();
}

function removeBtnEdit() {
editBtn.classList.add("d-none");
}

function removeBtnAdd() {
addBtn.classList.add("d-none");
}

function displayBtnEdit() {
editBtn.classList.remove("d-none");
}

function displayBtnAdd() {
addBtn.classList.remove("d-none");
}

getTasksFromLocalStorage();
//displayTasks()

if ("undefined" != typeof Storage) {
console.log("LocalStorage is supported.");
} else {
toDo.innerHTML =
'<h1 class="bg-danger py-2 text-center my-5">LocalStorage is not supported in this browser.</h1>';
}
addBtn.addEventListener("click", function () {
var t = taskInput.value;
tasks.push(t),
clearTaskInput(),
setTasksToLocalStorage(tasks),
displayTasks();
});

let id;

function editTask(t) {
(id = t), (taskInput.value = tasks[id]), removeBtnAdd(), displayBtnEdit();
}

function updateTask(t, e) {
(tasks[t] = e),
removeBtnEdit(),
displayBtnAdd(),
clearTaskInput(),
setTasksToLocalStorage(tasks),
displayTasks();
}

editBtn.addEventListener("click", function () {
updateTask(id, taskInput.value);
});

0 comments on commit a238e90

Please sign in to comment.