Skip to content

Commit 2c947ce

Browse files
committed
fixed local storage
But you can't use commas in your tasks or it will split them into seperate tasks... on the other hand if you want to write miltiple tasks at once that's an option, you just have to refresh your page and it's done...
1 parent b3e2007 commit 2c947ce

1 file changed

Lines changed: 22 additions & 16 deletions

File tree

src/script.js

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ function handleCompleted(event) {
1313
this.classList.add("checked");
1414
let number = this.id.replace(`check-`,'');
1515
let completedTask = document.querySelector(`#task-${number}-content`);
16-
completedTasks.push(completedTask.innerHTML);
16+
completedTasks.push(`${number}`);
1717
completedTask.classList.add("completed");
1818
countTasks();
1919
}
2020
function createNewTask(content, number){
2121
let li = document.createElement("li");
2222
document.querySelector("#task-list").appendChild(li);
23-
li.innerHTML = `<button class="check" id="check-${number}"><i class="fas fa-check"></i></button>#${number}) <string id="task-${number}-content">${content}</string><hr />`;
23+
li.innerHTML = `<button class="check" id="check-${number}"><i class="fas fa-check"></i></button><string id="task-${number}-content">${content}</string><hr />`;
2424
let identity = `task-${number}`;
2525
li.setAttribute(`id`, identity);
2626
document.querySelector(`#check-${number}`).addEventListener("click", handleCompleted);
@@ -29,7 +29,7 @@ function handleCreate(event){
2929
event.preventDefault();
3030
let newTask = document.querySelector("#new-task-input").value;
3131
if (newTask.length >= 1){
32-
tasks.push(newTask);
32+
tasks.push(`${newTask}`);
3333
let taskNumber = countTasks();
3434
createNewTask(newTask, taskNumber);
3535
}
@@ -55,6 +55,7 @@ function uncollapseNewTaskSection(event){
5555
`<button class="plusBtn" id="plus-btn"><i class="fas fa-plus"></i></button>
5656
Create a new task
5757
<input type="text" id="new-task-input" class="form-control" autocomplete="off" placeholder="New Task">
58+
To create multiple tasks at once seperate them with commas, click "Create new" button and refresh your page.<br />(This actually wasn't done on purpose.)
5859
<div class="buttons">
5960
<button class="btn btn-primary" id="new-task-btn">Create New</button>
6061
<button class="btn btn-danger" id="delete-btn" data-bs-toggle="tooltip" container="newTaskSection" title="This will delete ALL created tasks!">Delete All</button>
@@ -85,29 +86,34 @@ function changeTitleForm(event){
8586
document.querySelector("#confirm-title").addEventListener("click", changeTitle);
8687
}
8788
function createStoredTasks(){
88-
if (storedTasks.length > 0){
89+
if (storedTasks){
8990
tasks = storedTasks;
90-
for (let number = 1; number <= tasks.length; number++){
91+
for (let number = 0; number <= tasks.length-1; number++){
9192
let task = tasks[number];
92-
createNewTask(task, number);
93+
createNewTask(task, number+1);
94+
}
95+
if (storedCompletedTasks){
96+
completedTasks = storedCompletedTasks;
97+
completedTasks.forEach(function(completedTask){
98+
let idNumber = completedTask;
99+
let check = document.querySelector(`#check-${idNumber}`);
100+
let task = document.querySelector(`#task-${idNumber}-content`);
101+
check.classList.add("checked");
102+
task.classList.add("completed");
103+
});
93104
}
94-
//if (storedCompletedTasks.length > 0){
95-
//let tasksToDo = tasks - storedCompletedTasks;
96-
//completedTasks = tasks - tasksToDo;
97-
//completedTasks.forEach(function(completedTask){
98-
//completedTask.classList.add("completed");
99-
//});
100-
//}
101105
}
102106
}
103107
let tasks = [];
104108
let completedTasks = [];
105-
let storedTasks = localStorage.getItem("tasks").replace(`"`, ``).split(",");
106-
let storedCompletedTasks = localStorage.getItem("completedTasks").replace(`"`, ``).split(",");
107-
createStoredTasks();
109+
let storedTasks = localStorage.getItem("tasks");
110+
if (storedTasks){storedTasks = storedTasks.split(",");}
111+
let storedCompletedTasks = localStorage.getItem("completedTasks");
112+
if (storedCompletedTasks){storedCompletedTasks = storedCompletedTasks.split(",");}
108113
if (localStorage.getItem("title").value = 0){localStorage.setItem("title", "My To-Do List");}
109114
let title = localStorage.getItem("title");
110115
document.querySelector("#title").innerHTML = title;
111116
document.querySelector("#plus-btn").addEventListener("click", uncollapseNewTaskSection);
112117
document.querySelector("#change-title-btn").addEventListener("click", changeTitleForm);
118+
createStoredTasks();
113119
countTasks();

0 commit comments

Comments
 (0)