Используй другую валидацию, чтобы проверить пуст ли инпут: вместо
if (inputValue.length !== 0) {
arr.push({text: inputValue, done: false});
localStorage.setItem('taskslist', JSON.stringify(arr));
}
Сделай -
if (!inputValue.length?.trim()) {
arr.push({text: inputValue, done: false});
localStorage.setItem('taskslist', JSON.stringify(arr));
}
Это уберет возможность наставить пробелов и добавить "пустую строку дел"
Также используй id для todo, можешь взять функцию Math.random() и сделай так
if (!inputValue.length?.trim()) {
arr.push({
text: inputValue,
done: false,
id: Math.random().toString(),
});
localStorage.setItem('taskslist', JSON.stringify(arr));
}
А потом при клике на список дел в ней проверяй списки дел по айди, и если найдется нужный, меняй у него данные, например изменить условие: выполнен или нет и тд.