Eu fiz algumas modificações em relação ao resultado final dos desafios, então eu acabei modificando HTML e CSS também. A minha ideia era que o desafio ficasse mais integrado com a página em si - por isso mudei de Alugados para Disponíveis, em relação ao desafio 2.
Foi interessante porque isso necessitou de mais interação com o HTML e acabei descobrindo a opção {once: true}
para quando você utiliza o addEventListener
, senão dava um bug em que se eu clicasse em vários jogos e confirmasse a devolução, mesmo os que eu cancelei também era modificados pq os Listeners ficam anexados pra sempre, mesmo depois da função de alterarStatus
já ter sido executada.
Só tem uma questão...
Enquanto a tela de aviso da devolução aparece, o usuário ainda pode clicar em alugar
e devolver
, mesmo que não seja o comportamento esperado, eu queria poder bloquear o click que ativa a função alterarStatus
e isso não parece ser muito trivial. Não era o ponto do desafio mas alguém sabe como resolver isso?
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AluGames</title>
<link rel="stylesheet" href="css/main.css">
</head>
<body class="body">
<main class="container main">
<img src="img/logo.svg" alt="Logo AluGames">
<section class="divisor">
<div class="divisor__line"></div>
<img src="img/fade_bar.svg" alt="Visual bar" class="divisor__bar">
<div class="divisor__line"></div>
</section>
<h1 class="page-title"><span class="page-title__emphasis">boardgames</span> disponíveis: <span
id="disponiveis"></span></h1>
<section class="dashboard">
<ul class="dashboard__items">
<li class="dashboard__alert">
<p class="dashboard__item__name">Você está devolvendo um jogo</p>
<div>
<button class="dashboard__alert--cancelar dashboard__item__button">Cancelar</button>
<button class="dashboard__alert--confirmar dashboard__item__button">Confirmar</button>
</div>
</li>
<li class="dashboard__items__item" id="game-1">
<div class="dashboard__item__img">
<img src="img/monopoly.png" alt="Capa jogo Monopoly">
</div>
<p class="dashboard__item__name">Monopoly</p>
<a onclick="alterarStatus(1)" href="#" class="dashboard__item__button link-btn">Alugar</a>
</li>
<li class="dashboard__items__item" id="game-2">
<div class="dashboard__item__img">
<img src="img/ticket_to_ride.png" alt="Capa jogo Ticket to Ride">
</div>
<p class="dashboard__item__name">Ticket to Ride</p>
<a onclick="alterarStatus(2)" href="#" class="dashboard__item__button link-btn">Alugar</a>
</li>
<li class="dashboard__items__item" id="game-3">
<div class="dashboard__item__img dashboard__item__img--rented">
<img src="img/takenoko.png" alt="Capa jogo Takenoko">
</div>
<p class="dashboard__item__name">Takenoko</p>
<a onclick="alterarStatus(3)" href="#"
class="dashboard__item__button dashboard__item__button--return link-btn">Devolver</a>
</li>
</ul>
</section>
<img src="img/hachuras.svg" alt="Visual hachuras" class="hachuras">
</main>
<script src="js/app.js"></script>
</body>
</html>