Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Minha resolução

Reduzi à uma função apenas. Gostaria de um feedback. Obrigado!

function comprar() {
    let quantidade = parseInt(document.getElementById('qtd').value)

    if (!quantidade || quantidade <= 0) {
        alert("Preencha uma quantidade válida")
        return
    }

    comprarAssento(quantidade)
    
    document.getElementById('qtd').value = ''

}

function comprarAssento(x){
    let ingresso = document.getElementById('tipo-ingresso').value
    let qtdAssento = parseInt(document.getElementById(`qtd-${ingresso}`).textContent)

    if(x > qtdAssento) {
        alert("Quantidade indisponível.")
    } else {
        qtdAssento = qtdAssento - x
        document.getElementById(`qtd-${ingresso}`).textContent = qtdAssento
        alert("Compra realizada com sucesso!")
    }
}
1 resposta
solução!

Olá Mitsuyoshi! Tudo bem?

Seu código está bem organizado e você conseguiu reduzir a lógica a uma única função, o que é ótimo para a manutenção e legibilidade. Vou dar algumas sugestões para melhorar ainda mais o seu código.

  1. Validação de Entrada: A validação da quantidade está correta, mas você pode simplificar a verificação de valores inválidos.

  2. Função Única para Comprar Assentos: Você já tem uma função comprarAssento que pode ser utilizada para todos os tipos de ingressos, evitando a duplicação de código.

Bons estudos!