1
resposta

[Projeto] Desafio 01 e 02

Postarei aqui no fórum posteriormente os desafios 3 e 4;

  1. Verificação de confirmação em caso de devolução.
  2. Verificação de quantidade alugada.

Observação:
Não modifiquei o código fonte HTML que já inicializa no LiveServer com 1 jogo alugado. Sendo assim, implementei as funções respeitando o que já veio pronto.

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

if (imagem.classList.contains('dashboard__item__img--rented')) {
    imagem.classList.remove('dashboard__item__img--rented');
    botao.classList.remove('dashboard__item__button--return');
    botao.textContent = 'Alugar';
    jogosalugados --
    jogosAlugados();
    
//No projeto Alugames, uma confirmação ao devolver um jogo,
// solicitando ao usuário que confirme a devolução antes que ela seja concluída.
// Isso pode ajudar a evitar devoluções acidentais
    let confirmação = prompt('Deseja devolver o jogo? SIM - digite 1; Não - digite qualquer outro número')
    if(confirmação == 1)
        {
        alert('Devolução Concluída');
        }
        else if(confirmação <0 || confirmação == 0 || confirmação > 1)
        {
        imagem.classList.add('dashboard__item__img--rented');
        botao.classList.add('dashboard__item__button--return');
        botao.textContent = 'Devolver';
        }
}
else
    {
    imagem.classList.add('dashboard__item__img--rented');
    botao.classList.add('dashboard__item__button--return');
    botao.textContent = 'Devolver';
    jogosalugados ++;
    jogosAlugados();
    }
}
let jogosalugados = 1;
function jogosAlugados() {
    console.log(`Jogos Alugados: ${jogosalugados}`)
}
1 resposta

Olá, Geovani! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de manipulação do DOM para alterar o status dos jogos, utilizou muito bem a lógica condicional para controlar o fluxo de devolução e ainda compreendeu a importância de manter a contagem atualizada com a função de controle de jogos alugados.

Uma dica interessante para o futuro é substituir o prompt por confirm, que já retorna um valor booleano e simplifica a lógica de confirmação. Assim:

let confirmacao = confirm('Deseja devolver o jogo?');
if (confirmacao) {
    alert('Devolução Concluída');
    imagem.classList.remove('dashboard__item__img--rented');
    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();

Isso faz com que o código fique mais limpo e intuitivo, reduzindo verificações desnecessárias.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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