Crie códigos para validar as entradas e seus respectivos Alert's para quando a quantidade digitada for indisponível, compra realizada com Sucesso e quando a quantidade não for válida. Ao invés de criar 3 funções parseInt para converter a string em um número inteiro e retornar o resultado, eu optei em criar uma função genérica para enxugar o código, percebi também que ao clicar ok nos alert's a quantidade não era zerada, então eu inseri o código**document.getElementById('qtd').value = ''; depois de cada alert para resolver isto, conforme segue abaixo:
// Criando uma função genérica para comprar todos os tipos de ingresso
function comprarIngresso(tipo, qtd) {
let qtdDisponivel = parseInt(document.getElementById(`qtd-${tipo}`).textContent);
if (qtd > qtdDisponivel) {
alert(`Quantidade indisponível para tipo ${tipo}!`);
//// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades, quando a quandidade não estar disponível
document.getElementById('qtd').value = '';
} else {
qtdDisponivel -= qtd;
document.getElementById(`qtd-${tipo}`).textContent = qtdDisponivel;
alert('Compra realizada com Sucesso!');
// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades da compra realizada com sucesso
document.getElementById('qtd').value = '';
}
}
// Modificando a função comprar
function comprar() {
let tipo = document.getElementById('tipo-ingresso').value;
let qtdInput = document.getElementById('qtd');
let qtd = parseInt(qtdInput.value);
if (isNaN(qtd) || qtd <= 0) {
alert('Por favor, insira uma quantidade válida!');
// usar o código document.getElementById('qtd').value = ''; para zerar a quantidades, quando a quantidade não for válida
document.getElementById('qtd').value = '';
return; // Para sair da função se a quantidade não for válida
}
comprarIngresso(tipo, qtd);
}