Olá, tentei fazer a lógica sozinha após capturar as informações para as variáveis com os professores.
Além dos desafios propostos, eu também tentei impedir de alugar + de 1 jogo simultaneamente. Coloquei um alert com o nome do jogo já alugado informando que esse deve ser devolvido antes de pegar outro.
Porém como um jogo já inicializa alugado, não consegui fazer com que a minha lógica pensada fizesse a pessoa devolver ele antes de alugar outro jogo. O impedimento só passa a valer quando o usuário clica para alugar outro jogo...
""Consegui"" fazer alterando a variável inicial algumJogoAlugado recebendo true, porém eu não consegui informar o nome do Takenoko ao mandar o alert dizendo para devolver.
Caso tenham alguma sugestão de como resolver esse problema, ficaria agradecida
let algumJogoAlugado = false;
let nomeDoJogoAlugado = '';
function alterarStatus(id) {
let gameClicado = document.getElementById(`game-${id}`);
let imagem = gameClicado.querySelector('.dashboard__item__img')
let botao = gameClicado.querySelector('.dashboard__item__button');
let nomeJogo = gameClicado.querySelector('.dashboard__item__name').textContent;
let botoes = document.getElementsByClassName('dashboard__item__button');
if(botao.classList.contains('dashboard__item__button--return')){
//Devolução de jogo:
confirm(`Tem certeza que você deseja fazer a devolução de ${nomeDoJogoAlugado}?`)
botao.classList.remove('dashboard__item__button--return');
botao.classList.add('dashboard__item__button')
imagem.classList.remove('dashboard__item__img--rented');
botao.innerHTML = 'Alugar';
//Mudança do estado do jogo:
algumJogoAlugado = false
nomeDoJogoAlugado = '';
//Habilita todos os botoes de aluguel;
for(let i = 0; i < botoes.length; i++){
botoes[i].disabled = false
}
} else if(botao.classList.contains('dashboard__item__button')){
if(algumJogoAlugado){
alert(`O jogo ${nomeDoJogoAlugado} está alugado! Devolva para poder alugar outro.`)
} else{
//Aluguel de jogo:
botao.classList.add('dashboard__item__button--return');
imagem.classList.add('dashboard__item__img--rented');
botao.innerHTML = 'Devolver';
//Mudança do estado do jogo:
algumJogoAlugado = true;
nomeDoJogoAlugado = nomeJogo;
//Desabilita botões de aluguel:
for(let i = 0; i < botoes.length; i++){
botoes[i].disabled = true
}
}
}
quantidadeDeJogosAlugados()
}
function quantidadeDeJogosAlugados(){
let jogosAlugados = document.querySelectorAll('.dashboard__item__img--rented').length;
console.log(jogosAlugados);
}