Boa tarde, Eduardo! Tudo bem?
Notei que a função atualizarTarefas
está definida assim:
function atualizarTarefas(){
localStorage.setItem("tarefas",JSON.stringify())
}
O problema aqui é que você está chamando JSON.stringify()
sem passar nenhum argumento, o que resulta em undefined
sendo armazenado no localStorage
. O correto é passar a lista de tarefas como argumento:
function atualizarTarefas(){
localStorage.setItem("tarefas", JSON.stringify(tarefas))
}
Além disso, para garantir que as edições das tarefas também sejam refletidas no localStorage
, você precisa atualizar a descrição da tarefa no array tarefas
e chamar atualizarTarefas
dentro do onclick
do botão de edição. Exemplo:
button.onclick = () => {
let novaDescricao = prompt("Qual o novo nome da tarefa a ser criado?");
if (novaDescricao) { // Adicionando uma verificação para garantir que a descrição não fique vazia
p.textContent = novaDescricao;
tarefa.descricao = novaDescricao; // Atualizando a descrição no array de tarefas
atualizarTarefas(); // Salvando as mudanças no localStorage
}
}
Com essas mudanças, seu código deve ser capaz de atualizar corretamente o localStorage
sempre que uma tarefa for editada ou adicionada.
Caso o problema persista, basta deixar seu projeto completo no github para que eu realize os testes e te ajude de forma mais assertiva.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!