Oii, Leonardo!
Que excelente entrega. Você conseguiu unir os conceitos de manipulação de classes CSS com a lógica de contagem e eventos do navegador. É muito bom ver como você estruturou a lógica para que o sistema já inicie sabendo quantos jogos estão alugados através do DOMContentLoaded.
Pontos positivos do seu código:
- Controle de estado: O uso da variável
jogosAlugados sendo incrementada e decrementada dentro da função alterarStatus mostra que você compreendeu como gerenciar dados que mudam conforme a interação do usuário. - Sincronização inicial: Utilizar o
document.querySelectorAll(...).length logo no carregamento da página evita que a contagem comece do zero caso já existam jogos marcados como alugados no HTML original. - Organização comfunções: Separar a exibição do console em uma função específica (
contarEExibirJogosAlugados) deixa o código mais limpo.
Dica para o Desafio 1 (confirmação):
Notei que no seu código da função alterarStatus, você ainda não incluiu a janelinha de confirmação que o desafio propôs. Adicionar essa verificação é uma prática comum para evitar ações acidentais em sistemas reais.
Você pode inserir o confirm() logo após verificar se o jogo está alugado:
if (imagem.classList.contains('dashboard__item__img--rented')) {
// Pergunta ao usuário antes de prosseguir com a devolução
if (confirm(`Você tem certeza que deseja devolver o jogo ${nomeJogo.textContent}?`)) {
imagem.classList.remove('dashboard__item__img--rented');
botao.classList.remove('dashboard__item__button--return');
botao.textContent = 'alugar';
jogosAlugados--;
}
}
Continue firme nos estudos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!