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

DÚVIDA SOBRE ALTERAÇÃO DAS CLASSES

Olá, gostaria de saber o porquê deste pequeno trecho do código remover a classe quando clico no elemento que já está selecionado, já que ele não tem nenhum código referente as classes, mas sem ele não remove a classe quando clico denovo.

if (tarefaSelecionada == tarefa){
            paragrafoDescricaoTarefa.textContent = '';
            tarefaSelecionada = null;
            console.log('saida', tarefaSelecionada)
            return;
        }
1 resposta
solução!

O comportamento descrito se deve ao fato de que esse trecho de código está resetando a variável tarefaSelecionada para null, o que, indiretamente, também remove a classe de seleção (presumivelmente via outra parte do código que escuta essa mudança ou reage a um valor null).

O código verifica se a tarefa selecionada (tarefaSelecionada) é a mesma que a atual (tarefa). Se for, isso indica que a tarefa já está selecionada.

Ao redefinir tarefaSelecionada como null, o código está basicamente dizendo: "Nenhuma tarefa está mais selecionada." Isso aciona a lógica de desmarcar/desselecionar visualmente o item (remover a classe), provavelmente em outra parte do código, que observa mudanças no estado de seleção.

A linha paragrafoDescricaoTarefa.textContent = ''; está limpando a descrição da tarefa, o que reforça a ideia de que não há mais uma tarefa selecionada. O uso de return garante que, assim que esse bloco for executado, o código saia da função sem prosseguir para outras alterações.

Se você remover esse bloco, o estado de seleção (tarefaSelecionada) não será redefinido para null. Isso significa que a tarefa continua considerada como "selecionada", e a lógica que desmarca visualmente o item (remover a classe) não será acionada, já que o estado da tarefa não mudou.