1const taskInput = document.getElementById('taskInput');
2const addTaskButton = document.getElementById('addTaskButton');
3const taskList = document.getElementById('taskList');
4
5const loadTasks = () => {
6 const tasks = JSON.parse(localStorage.getItem('tasks')) || [];
7 tasks.forEach(task => addTaskToDOM(task.text, task.completed));
8};
9
10const saveTasks = () => {
11 const tasks = [];
12 taskList.querySelectorAll('li').forEach(taskItem => {
13 tasks.push({
14 text: taskItem.textContent,
15 completed: taskItem.classList.contains('completed')
16 });
17 });
18 localStorage.setItem('tasks', JSON.stringify(tasks));
19};
20
21const addTaskToDOM = (taskText, completed = false) => {
22 const taskItem = document.createElement('li');
23 taskItem.textContent = taskText;
24 if (completed) {
25 taskItem.classList.add('completed');
26 }
27 taskItem.addEventListener('click', () => {
28 taskItem.classList.toggle('completed');
29 saveTasks();
30 });
31 taskItem.addEventListener('dblclick', () => {
32 taskItem.remove();
33 saveTasks();
34 });
35 taskList.appendChild(taskItem);
36};
37
38addTaskButton.addEventListener('click', () => {
39 const taskText = taskInput.value.trim();
40 if (taskText) {
41 addTaskToDOM(taskText);
42 saveTasks();
43 taskInput.value = '';
44 }
45});
46
47loadTasks();