studio-e9ec30at / app.js
akhaliq's picture
akhaliq HF Staff
Upload folder using huggingface_hub
e0e81c6 verified
const todoInput = document.getElementById('todoInput');
const addBtn = document.getElementById('addBtn');
const todoList = document.getElementById('todoList');
let todos = JSON.parse(localStorage.getItem('todos')) || [];
function saveTodos() {
localStorage.setItem('todos', JSON.stringify(todos));
}
function renderTodos() {
todoList.innerHTML = '';
todos.forEach((todo, index) => {
const li = document.createElement('li');
li.className = `todo-item ${todo.completed ? 'completed' : ''}`;
li.innerHTML = `
<input type="checkbox" class="todo-checkbox" ${todo.completed ? 'checked' : ''} onchange="toggleTodo(${index})">
<span class="todo-text">${todo.text}</span>
<button class="delete-btn" onclick="deleteTodo(${index})">Delete</button>
`;
todoList.appendChild(li);
});
}
function addTodo() {
const text = todoInput.value.trim();
if (text) {
todos.push({ text, completed: false });
saveTodos();
renderTodos();
todoInput.value = '';
}
}
function toggleTodo(index) {
todos[index].completed = !todos[index].completed;
saveTodos();
renderTodos();
}
function deleteTodo(index) {
todos.splice(index, 1);
saveTodos();
renderTodos();
}
addBtn.addEventListener('click', addTodo);
todoInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') addTodo();
});
renderTodos();