Finalizei meu projeto com o acréscimo de algumas aplicações.
Primeiro, coloquei um alerta para instruir o usuário a colocar uma quantidade no produto escolhido, sem o preenchimento do campo quantidade, não é possível realizar a continuação do programa.
if (!quantidade) {
alert("Preencha o campo");
return;
}
Segundo, acrescentei uma condicional, se o mesmo produto for acrescentado mais de uma vez, alerte o usuário que esse o o produto já foi incluso no carrinho .
Para isso, criei um array fora da função
let produtosNoCarrinho = [];
E a condicional dentro da função
if (produtosNoCarrinho.includes(nomeProduto)) {
alert(`${nomeProduto} já foi adicionado ao carrinho.`);
return;
}
Utilizamos do método includes para verificar se o nomeProduto, já está dentro do array.
Se clicarmos em adicionar mais uma vez, será exibido o alerta:
Caso essa condição seja falsa, partiremos para a linha mais abaixo do código.
produtosNoCarrinho.push(nomeProduto);
O método push acrescenta no array os item que temos no projeto.
Ao final, como visto, Apliquei a formatação de moeda com o comando .toLocaleString, nas variáveis preço e valor total
valorTotal.textContent = totalGeral.toLocaleString("pt-BR", {
style: "currency",
currency: "BRL",
});