Skip to content

Commit

Permalink
Make slug and unique title.
Browse files Browse the repository at this point in the history
  • Loading branch information
LamaSaad24 committed Sep 29, 2023
1 parent d91ca73 commit 851e6cf
Showing 1 changed file with 27 additions and 4 deletions.
31 changes: 27 additions & 4 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function displayTasks() {
for (let i = 0; i < tasks.length; i++)
data += `
<div class="item col-3 my-2 d-flex flex-column justify-content-center align-items-center">
<h2 class="mb-3">${tasks[i]}</h2>
<h2 class="mb-3">${tasks[i].title}</h2>
<div class="d-flex flex-row justify-content-end mb-1">
<a href="#" class="text-primary" data-mdb-toggle="tooltip" title="Edit todo" onclick="editTask(${i})"><i
class="fas fa-pencil-alt me-3"></i></a>
Expand Down Expand Up @@ -57,22 +57,40 @@ function displayBtnAdd() {
}

getTasksFromLocalStorage();
//displayTasks()
displayTasks()

if ("undefined" != typeof Storage) {
console.log("LocalStorage is supported.");
} else {
toDo.innerHTML =
'<h1 class="bg-danger py-2 text-center my-5">LocalStorage is not supported in this browser.</h1>';
}

addBtn.addEventListener("click", function () {
var t = taskInput.value;
tasks.push(t),
let title = taskInput.value;
if(!checkIfUnique(title)){
let task = {
'title':title,
'slug' : generateSlug(title)
}
tasks.push(task),
clearTaskInput(),
setTasksToLocalStorage(tasks),
displayTasks();
}else{
showError();
}
});

function checkIfUnique(title){
return tasks.filter((e)=>{return e.title==title});
}

function generateSlug(title){
let slug = title.toLowerCase().replace(/[-+_=]/g,'').replace(/ /g,'-');
return slug;
}

let id;

function editTask(t) {
Expand All @@ -91,3 +109,8 @@ function updateTask(t, e) {
editBtn.addEventListener("click", function () {
updateTask(id, taskInput.value);
});


function showError(){
alert("the name should be unique")
}

0 comments on commit 851e6cf

Please sign in to comment.