1
resposta

[Projeto] Desafio AluGames


```let jogosAlugados = 0;

function contarEExibirJogosAlugados() {
    console.log(`Total de jogos alugados: ${jogosAlugados}`);
}

 function alterarStatus(id){
  let gameClicado = document.getElementById(`game-${id}`);
  let imagem = gameClicado.querySelector('.dashboard__item__img');
  let botao = gameClicado.querySelector('.dashboard__item__button');

  // se for alugado e se não mudar de cor
  if ( imagem.classList.contains('dashboard__item__img--rented')){
       imagem.classList.remove('dashboard__item__img--rented');
        let Devolver = imagem.classList.add('dashboard__item__img--rented');
        alert ('Tem certeza que deseja devolver esse jogo?');
       botao.classList.remove('dashboard__item__button--return');
       botao.textContent = "Alugar";
       jogosAlugados--;
  } else{
       imagem.classList.add('dashboard__item__img--rented');
       botao.classList.add('dashboard__item__button--return');
       botao.textContent = "Devolver";
       jogosAlugados++;
  }
     contarEExibirJogosAlugados();
  }

  // Inicializa a contagem considerando que os jogos já começam alugados
    document.addEventListener('DOMContentLoaded', function() {
    jogosAlugados = document.querySelectorAll('.dashboard__item__img--rented').length;
    contarEExibirJogosAlugados();
});

function ordenarNumeros(a, b, c) {
    const numerosOrdenados = [a, b, c].sort((x, y) => x - y);
    console.log(`Números ordenados: ${numerosOrdenados.join(', ')}`);
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Tamires! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Você fez um ótimo trabalho estruturando as funções e usando DOMContentLoaded para iniciar a contagem dos jogos alugados. Para deixar o código ainda melhor, você pode ajustar o trecho onde adiciona e remove a classe de jogos alugados. Isso vai evitar duplicar ações e deixar o controle mais fluido. Uma dica interessante para o futuro é usar classList.toggle com um segundo parâmetro e confirmar a devolução com confirm(). Veja como resolver:


// altera o status de aluguel confirmando antes e atualiza a contagem
function alterarStatus(id){
  const game = document.getElementById(`game-${id}`);
  const img = game.querySelector('.dashboard__item__img');
  const btn = game.querySelector('.dashboard__item__button');

  const estavaAlugado = img.classList.contains('dashboard__item__img--rented');
  if (estavaAlugado && !confirm('Tem certeza que deseja devolver este jogo?')) return;

  img.classList.toggle('dashboard__item__img--rented', !estavaAlugado);
  btn.classList.toggle('dashboard__item__button--return', !estavaAlugado);
  btn.textContent = estavaAlugado ? 'Alugar' : 'Devolver';
  jogosAlugados += estavaAlugado ? -1 : 1;
  contarEExibirJogosAlugados();
}
// O codigo acima confirma a devolucao, ajusta classes com toggle e atualiza o texto e a contagem automaticamente.
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!