Newer
Older
2022-K.Ryuei / otamesi / index.js
const form = document.getElementById("form");
const input = document.getElementById("input");
const ul = document.getElementById("ul");
const todos = JSON.parse(localStorage.getItem("todos"));

if(todos){
    todos.forEach(todo => {
    add(todo);
})
}

form.addEventListener("submit", function(event){
    event.preventDefault();
    console.log(input.value);
    add();
});

function add(todo) {
    let todoText = input.value

    if (todo){
        todoText = todo.text;
    }

    if (todoText){
    const li = document.createElement("li");
    li.innerText = todoText;
    li.classList.add("list-group-item");

    if(todo && todo.completed){
        li.classList.add("text-decoration-line-through");
    }

    li.addEventListener("contextmenu", function
    (event){
        event.preventDefault();
        li.remove();
        saveData();
    });

    li.addEventListener("click", function(){
        li.classList.toggle("text-decoration-line-through");
        saveData();
    })
    ul.appendChild(li);
    input.value = "";
    saveData();
    }
}

function saveData() {
    const lists = document.querySelectorAll("li");
    let todos = [];

    lists.forEach(list =>{
        let todo = {
            text: list.innerText,
            completed: list.classList.contains
            ("text-decoration-line-through")
        };
        todos.push(todo);
    });
    localStorage.setItem("todos", JSON.stringify(todos));
}