Segue minha solução para o Desafio.
Estou fazendo os desafios sem ver a solução dos anteriores.
// Declaração
let quantidadePista;
let quantidadeSuperior;
let quantidadeInferior ;
let quantidadeCompra;
let tipoIngresso;
let tipoIngressoAux;
function comprar() {
quantidadeCompra = document.getElementById('qtd').value;
tipoIngresso = document.getElementById('tipo-ingresso').value;
if (quantidadeCompra > 0) {
calculaQuantidade(quantidadeCompra,tipoIngresso);
}else{
alert('Informar a quantidade de ingresso');
}
}
//Atualiza valor total
function calculaQuantidade(quantidadeCompra,tipoIngresso) {
// Pista
if (tipoIngresso == 'pista' && quantidadeCompra <=quantidadePista){
quantidadePista = quantidadePista -quantidadeCompra;
tipoIngressoAux = 'qtd-pista';
atualizaQuantidade(quantidadePista,tipoIngressoAux);
} else if (tipoIngresso == 'pista' && quantidadeCompra >quantidadePista){
alert(`Quantidade Indisponível de ${tipoIngresso}!`);
}
// Superior
if (tipoIngresso == 'superior' && quantidadeCompra <=quantidadeSuperior) {
quantidadeSuperior = quantidadeSuperior-quantidadeCompra;
tipoIngressoAux = 'qtd-superior';
atualizaQuantidade(quantidadeSuperior,tipoIngressoAux);
} else if (tipoIngresso == 'superior' && quantidadeCompra > quantidadeSuperior){
alert(`Quantidade Indisponível de ${tipoIngresso}!`);
}
// inferior
if (tipoIngresso == 'inferior' && quantidadeCompra <=quantidadeInferior) {
quantidadeInferior = quantidadeInferior -quantidadeCompra;
tipoIngressoAux = 'qtd-inferior';
atualizaQuantidade(quantidadeInferior,tipoIngressoAux);
} else if (tipoIngresso == 'inferior' && quantidadeCompra > quantidadeInferior){
alert(`Quantidade Indisponível de ${tipoIngresso}!`);
}
}
function atualizaQuantidade(qtd,tipoIngressoAux) {
let elementQtd = document.getElementById(tipoIngressoAux);
elementQtd.innerHTML = `${qtd}`;
}
//Extrai quantidade disponível inicial
function qtdDisponivel() {
// Extrai disponiveis na pista
quantidadePista = parseInt(document.getElementById('qtd-pista').textContent);
// Extrai disponiveis Superior
quantidadeSuperior = parseInt(document.getElementById('qtd-superior').textContent);
// Extrai disponiveis inferior
quantidadeInferior = parseInt(document.getElementById('qtd-inferior').textContent);
}
// Carrega valores do carrinho ao carregar a página
window.onload = function() {
qtdDisponivel();
}