Update scripttodo.js

This commit is contained in:
WhyKorp
2024-03-11 06:44:50 +01:00
committed by GitHub
parent f5f2cfcf1c
commit 8931ef5cb1
+35
View File
@@ -30,6 +30,12 @@ document.addEventListener("DOMContentLoaded", function() {
const addCategoryButton = document.getElementById("add-category"); const addCategoryButton = document.getElementById("add-category");
const categoryList = document.getElementById("category-list"); const categoryList = document.getElementById("category-list");
// Charger la liste depuis le stockage local
const storedTodos = JSON.parse(localStorage.getItem("todos")) || [];
storedTodos.forEach(todo => {
addTodoToList(todo);
});
addTodoButton.addEventListener("click", function() { addTodoButton.addEventListener("click", function() {
const todoText = newTodoInput.value.trim(); const todoText = newTodoInput.value.trim();
if (todoText !== "") { if (todoText !== "") {
@@ -41,6 +47,8 @@ document.addEventListener("DOMContentLoaded", function() {
todoItem.appendChild(todoCheckbox); todoItem.appendChild(todoCheckbox);
todoItem.appendChild(todoSpan); todoItem.appendChild(todoSpan);
todoList.appendChild(todoItem); todoList.appendChild(todoItem);
addTodoToList(todoText);
saveTodoList();
newTodoInput.value = ""; newTodoInput.value = "";
} }
}); });
@@ -73,9 +81,36 @@ document.addEventListener("DOMContentLoaded", function() {
} else { } else {
todoItem.classList.remove("completed"); todoItem.classList.remove("completed");
} }
saveTodoList();
} }
}); });
function addTodoToList(todoText) {
const todoItem = document.createElement("li");
const todoCheckbox = document.createElement("input");
todoCheckbox.type = "checkbox";
const todoSpan = document.createElement("span");
todoSpan.textContent = todoText;
todoItem.appendChild(todoCheckbox);
todoItem.appendChild(todoSpan);
todoList.appendChild(todoItem);
if (todoText.completed) {
todoItem.classList.add("completed");
todoCheckbox.checked = true;
}
}
function saveTodoList() {
const todos = [];
todoList.querySelectorAll("li").forEach(todoItem => {
todos.push({
text: todoItem.querySelector("span").textContent,
completed: todoItem.classList.contains("completed")
});
});
localStorage.setItem("todos", JSON.stringify(todos));
}
// Function to load existing todos from localStorage // Function to load existing todos from localStorage
function loadTodos() { function loadTodos() {
const savedTodos = JSON.parse(localStorage.getItem("todos")) || []; const savedTodos = JSON.parse(localStorage.getItem("todos")) || [];