Update scripttodo.js
This commit is contained in:
@@ -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")) || [];
|
||||||
|
|||||||
Reference in New Issue
Block a user