Olá, Brendo! Tudo bem?
Para corrigir isso, você pode fazer uma verificação antes de atualizar a estatística. Se o valor da operação for "-" (subtração), você deve diminuir o valor atual da estatística em vez de somar. Ficaria assim:
function atualizaEstatisticas (peca, operacao) {
if(operacao === "+"){
estatisticas.forEach( (elemento) => {
elemento.textContent = parseInt(elemento.textContent) + pecas[peca][elemento.dataset.estatistica];
});
} else {
estatisticas.forEach( (elemento) => {
elemento.textContent = parseInt(elemento.textContent) - pecas[peca][elemento.dataset.estatistica];
});
}
}
E no local que é chamada a função atualizaEstatisticas que recebeu um novo parâmetro, devemos passar outro valor para o segundo parâmetro que no caso é o evento.target.dataset.controle
ficando assim, o controle.forEach :
controle.forEach( elemento => {
elemento.addEventListener("click", (evento) => {
manipulaDados(evento.target.dataset.controle, evento.target.parentNode);
atualizaEstatisticas(evento.target.dataset.peca, evento.target.dataset.controle);
})
});
Dessa forma, quando a operação for "-", a estatística será diminuída corretamente.
Espero ter ajudado, qualquer dúvida, me coloco à disposição! Bons estudos!
Sucesso ✨
Um grande abraço e até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!