Minha solução teve bastante if else, mas está funcionando corretamente:
let qtdPista = parseInt(document.getElementById('qtd-pista').textContent);
let qtdSuperior = parseInt(document.getElementById('qtd-superior').textContent);
let qtdInferior = parseInt(document.getElementById('qtd-inferior').textContent);
function comprar(){
let ingressoSelecionado = document.getElementById('tipo-ingresso').value;
let qtd = parseInt(document.getElementById('qtd').value);
document.getElementById('qtd').value = '';
if(qtd <= 0 || isNaN(qtd)){
alert('Selecione a quantidade de ingressos.');
} else if(ingressoSelecionado == 'pista'){
if (qtdPista == 0){
alert('Ingressos esgotados :(');
} else if (qtd > qtdPista){
alert('Quantidade insuficiente de ingressos disponíveis');
} else if (qtd <= qtdPista){
qtdPista -= qtd;
document.getElementById('qtd-pista').textContent = qtdPista;
alert('Compra realizada com sucesso!');
}
} else if(ingressoSelecionado == 'superior'){
if (qtdSuperior == 0){
alert('Ingressos esgotados :(');
} else if (qtd > qtdSuperior){
alert('Quantidade insuficiente de ingressos disponíveis');
} else if (qtd <= qtdSuperior){
qtdSuperior -= qtd;
document.getElementById('qtd-superior').textContent = qtdSuperior;
alert('Compra realizada com sucesso!');
}
} else if(ingressoSelecionado == 'inferior'){
if (qtdInferior == 0){
alert('Ingressos esgotados :(');
} else if (qtd > qtdInferior){
alert('Quantidade insuficiente de ingressos disponíveis');
} else if (qtd <= qtdInferior){
qtdInferior -= qtd;
document.getElementById('qtd-inferior').textContent = qtdInferior;
alert('Compra realizada com sucesso!');
}
}
}