Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

FOKUS Lista de exercicios - Tarefa finalizada

Olá, segue a resolução do que foi feito em sala e eu reproduzi.

const paragrafoDescricaoTarefa = document.querySelector('.app__section-active-task-description');

let tarefas = JSON.parse(localStorage.getItem('tarefas')) || []
let tarefaSelecionada = null
let litarefaSelecionada = null


 li.onclick = () => {
        document.querySelectorAll('.app__section-task-list-item-active')
        .forEach(elemento =>{
            elemento.classList.remove('app__section-task-list-item-active')
        })
        
       if (tarefaSelecionada == tarefa) {
        paragrafoDescricaoTarefa.textContent = ''
        tarefaSelecionada = null
        litarefaSelecionada = null
        return
       }
        tarefaSelecionada = tarefa
        litarefaSelecionada = li
        paragrafoDescricaoTarefa.textContent = tarefa.descricao
        li.classList.add('app__section-task-list-item-active')
    }

    return li
}

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')
    }
})
1 resposta

Oi, Stephanie. Tudo bem com você?

Obrigado por compartilhar a sua resolução. Comparando o código com os objetivos da atividade, a implementação está de acordo com o que foi proposto. Você declarou as variáveis para controlar a tarefa selecionada, adicionou o evento de clique, removeu a classe de tarefa ativa das demais tarefas antes de selecionar uma nova e também tratou corretamente o caso em que o usuário clica novamente na mesma tarefa para desmarcá-la e limpar a descrição exibida. Além disso, o tratamento do evento FocoFinalizado também segue a lógica esperada para marcar a tarefa como concluída e desabilitar o botão de edição.

Na sua opinião, como você implementaria uma funcionalidade para permitir que apenas tarefas concluídas pudessem ser removidas da lista?

Parabéns pela resolução da atividade e por compartilhar o seu código no fórum. Continue praticando e trazendo suas implementações. O fórum segue à disposição para ajudar sempre que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!