let itemTarefaSelecionada = null
const selecionaTarefa = (tarefa, elemento) => {
document.querySelectorAll('.app__section-task-list-item-active').forEach(function (button) {
button.classList.remove('app__section-task-list-item-active')
})
if (tarefaSelecionada == tarefa) {
taskActiveDescription.textContent = null
itemTarefaSelecionada = null
tarefaSelecionada = null
return
}
tarefaSelecionada = tarefa
itemTarefaSelecionada = elemento
taskActiveDescription.textContent = tarefa.descricao
elemento.classList.add('app__section-task-list-item-active')
}
Pra entender o porque das variaveis criadas e da montagem dessa função, tive que fazer uma "logica reversa": montei todo o processo na arrow function do li.onclick (como o instrutor começou na aula anterior), ai vi que essa seria uma forma de tirar toda essa logica de dentro da função de criação de tarefas.
Mesmo assim, não entendi porque a logica para desmarcar tarefas PRECISA vir antes da seleção inicial das tarefas. Também não entendi a necessidade de iniciar as duas variaveis com null, já que apenas declará-las sem valor nenhum também funciona.