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

Projeto - Carrinho de Compras

let totalGeral = 0;

limpar();

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

    if (!quantidade || quantidade <= 0) {
        alert('Por favor, insira uma quantidade válida.');
        return;
    }

    let subTotal = quantidade * valorUnit;
    let listaProdutos = document.getElementById('lista-produtos');
    listaProdutos.innerHTML += `
        <section class="carrinho__produtos__produto">
          <span class="texto-azul"> ${quantidade} </span> ${nomeProduto} <span class="texto-azul">R$${subTotal}</span>
        </section>
    `;

    totalGeral += subTotal;
    let campoTotal = document.getElementById('valor-total');
    campoTotal.textContent = `R$${totalGeral}`;

}

function limpar () {
    totalGeral = 0;
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$0';
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Aline! Como vai?

Agradeço por compartilhar.

Gostei da sua implementação, ela tá bem organizada e o uso de funções separadas para adicionar e limpar produtos mostra uma boa estrutura de lógica. Você também tratou bem o caso de quantidade inválida, o que é importante para evitar erros na execução do código.

Continue praticando esse tipo de organização, pois isso torna o código mais legível e fácil de manter.

Uma dica: experimente usar o método toFixed(2) ao exibir os valores em reais, para garantir que os preços sempre mostrem duas casas decimais.

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