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

Faça como eu fiz: finalizando a compra e limpando o carrinho

function adicionar() {
let produto = document.getElementById('produto').value;
let nomeProduto = produto.split('-')[0].trim();
let valorUnitario = parseFloat(produto.split('R$')[1].trim());
let quantidade = document.getElementById('quantidade').value;

let preco = quantidade * valorUnitario;
let carrinho = document.getElementById('lista-produtos');

// adicionar ao carrinho
    carrinho.innerHTML = carrinho.innerHTML + ` <section class="carrinho__produtos__produto">
          <span class="texto-azul">${quantidade}x</span> ${nomeProduto} <span class="texto-azul">R$${preco}</span>
        </section>`;

//atualizar o valor total
totalGeral = totalGeral + preco;
let campoTotal = document.getElementById('valor-total');
campoTotal.textContent = `R$ ${totalGeral}`;
document.getElementById('quantidade').value = 0;
}

function limpar() {
totalGeral= 0;
document.getElementById('lista-produtos').innerHTML = '';
document.getElementById('valor-total').textContent = 'R$ 0';
1 resposta
solução!

Olá, Henrique! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de split para separar informações do produto em JavaScript, utilizou muito bem o innerHTML para atualizar dinamicamente o carrinho e ainda compreendeu a importância do acúmulo de valores para calcular o total geral das compras.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é usar toFixed(2) ao exibir valores monetários, garantindo que o preço sempre apareça com duas casas decimais. Assim:

let preco = quantidade * valorUnitario;
carrinho.innerHTML += `
  <section class="carrinho__produtos__produto">
    <span class="texto-azul">${quantidade}x</span> ${nomeProduto} 
    <span class="texto-azul">R$${preco.toFixed(2)}</span>
  </section>`;

Isso faz com que os valores fiquem formatados corretamente, evitando problemas de arredondamento na exibição.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!