1
resposta

[Sugestão] Desafio concluido

1- 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. 2- No projeto Alugames, crie uma função para imprimir no console a informação sobre quantos jogos foram alugados

function alterarStatus(id) { console.log(id = ${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'); alert(nomeJogo.textContent);

console.log(imagem.classList.contains('dashboard__item__img--rented'))
if (imagem.classList.contains('dashboard__item__img--rented')) {
    // Adiciona uma confirmação antes de devolver o jogo
    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';
    }
} else {
    imagem.classList.add('dashboard__item__img--rented');
    botao.classList.add('dashboard__item__button--return');
    botao.textContent = 'Devolver';
}
let quantidadeAlugados = document.querySelectorAll('.dashboard__item__button--return').length;

console.log(quantidadeAlugados);

} ()

1 resposta

Oi Maria!

Você está no caminho certo com suas sugestões e a implementação do projeto Alugames! Vou te ajudar a melhorar o código para atender aos dois desafios que você mencionou:

  1. Confirmação ao devolver um jogo: Você já implementou a confirmação utilizando o confirm(), o que está ótimo. Isso ajuda a evitar devoluções acidentais.

  2. Função para imprimir no console a informação sobre quantos jogos foram alugados: Você já está contando a quantidade de jogos alugados com document.querySelectorAll('.dashboard__item__button--return').length. Agora, só precisamos criar uma função separada para imprimir essa informação no console.

Aqui está uma versão ajustada do seu código:

function alterarStatus(id) {
    console.log(`id = ${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');
    alert(nomeJogo.textContent);

    console.log(imagem.classList.contains('dashboard__item__img--rented'));
    if (imagem.classList.contains('dashboard__item__img--rented')) {
        // Adiciona uma confirmação antes de devolver o jogo
        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';
        }
    } else {
        imagem.classList.add('dashboard__item__img--rented');
        botao.classList.add('dashboard__item__button--return');
        botao.textContent = 'Devolver';
    }
    imprimirQuantidadeAlugados();
}

function imprimirQuantidadeAlugados() {
    let quantidadeAlugados = document.querySelectorAll('.dashboard__item__button--return').length;
    console.log(`Quantidade de jogos alugados: ${quantidadeAlugados}`);
}

O que foi feito:

  • A função imprimirQuantidadeAlugados foi criada para contar e imprimir no console a quantidade de jogos alugados.
  • A função alterarStatus foi ajustada para chamar imprimirQuantidadeAlugados após alterar o status de um jogo.

Espero ter ajudado e bons estudos!