Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Explicação sobre o metodo .completa

Professor, uma duvida, qual o motivo do tarefaSelecionada.completa = true no codigo, não entendi a criação do metodo, poderia me explicar?

1 resposta
solução!

Olá, Eduardo. Tudo bem?

Esse trecho de código é importante pra garantir que o estado da tarefa seja persistido no local storage e, consequentemente, mantido mesmo após a página ser recarregada.

  1. Atualização Visual: Quando uma tarefa é marcada como completa, o código atualiza a interface do usuário. Isso inclui remover a classe que indica que a tarefa está ativa e adicionar a classe que indica que a tarefa está completa. E, o botão da tarefa é desativado para evitar novas interações.

  2. Persistência no Local Storage: A linha tarefaSelecionada.completa = true é crucial porque ela altera o objeto tarefaSelecionada para refletir que a tarefa foi completada. Essa alteração é importante para que, ao chamar a função atualizarTarefas(), o estado atualizado da tarefa (completa = true) seja salvo no local storage.

document.addEventListener('FocoFinalizado', () => {
    if (tarefaSelecionada && liTarefaSelecionada) {
        liTarefaSelecionada.classList.remove('app__section-task-list-item-active');
        liTarefaSelecionada.classList.add('app__section-task-list-item-complete');
        liTarefaSelecionada.querySelector('button').setAttribute('disabled', 'disabled');
        
        // Define a tarefa como completa
        tarefaSelecionada.completa = true;
        
        // Atualiza o local storage com o novo estado da tarefa
        atualizarTarefas();
    }
});

Por que isso é importante?

  • Consistência do Estado: Sem essa linha, a tarefa pareceria completa visualmente, mas essa informação não seria salva. Ao recarregar a página, a tarefa apareceria como incompleta novamente.
  • Persistência de Dados: Ao definir tarefaSelecionada.completa = true, garantimos que essa informação é salva no local storage. Assim, mesmo que a página seja recarregada, o estado da tarefa é recuperado corretamente.

Espero ter ajudado.

Um abraço.