let total = 0;
const listaProdutos = document.getElementById("lista-produtos");
const valorTotal = document.getElementById("valor-total");
const quantidadeInput = document.getElementById("quantidade");
const botaoLimpar = document.querySelector(".botao-limpar");
const botaoAdicionar = document.querySelector(".botao-adicionar");
// Armazena os produtos no carrinho
const carrinho = {};
// Inicializa a página
window.onload = () => {
limparCampos();
atualizarBotaoLimpar();
atualizarBotaoAdicionar();
};
// Habilita ou desabilita o botão adicionar conforme a quantidade
quantidadeInput.addEventListener("input", atualizarBotaoAdicionar);
function adicionar() {
const produtoSelect = document.getElementById("produto");
const produto = produtoSelect.value;
const quantidade = parseInt(quantidadeInput.value);
if (!quantidade || quantidade <= 0) {
alert("Informe uma quantidade válida.");
return;
}
const [nome, precoTexto] = produto.split(" - R$");
const preco = parseFloat(precoTexto);
if (carrinho[nome]) {
carrinho[nome].quantidade += quantidade;
} else {
carrinho[nome] = { preco: preco, quantidade: quantidade };
}
atualizarCarrinho();
limparCampos();
atualizarBotaoLimpar();
atualizarBotaoAdicionar();
}
function atualizarCarrinho() {
listaProdutos.innerHTML = "";
total = 0;
for (const nome in carrinho) {
const item = carrinho[nome];
const subtotal = item.preco * item.quantidade;
total += subtotal;
const produtoElemento = document.createElement("section");
produtoElemento.classList.add("carrinho__produtos__produto");
produtoElemento.innerHTML = `<span class="texto-azul">${item.quantidade}x</span> ${nome} <span class="texto-azul">R$${subtotal}</span>`;
listaProdutos.appendChild(produtoElemento);
}
valorTotal.textContent = `R$${total}`;
}
function limpar() {
for (const key in carrinho) delete carrinho[key];
atualizarCarrinho();
limparCampos();
atualizarBotaoLimpar();
atualizarBotaoAdicionar();
}
function limparCampos() {
quantidadeInput.value = 0;
}
function atualizarBotaoLimpar() {
botaoLimpar.disabled = Object.keys(carrinho).length === 0;
}
function atualizarBotaoAdicionar() {
const quantidade = parseInt(quantidadeInput.value);
botaoAdicionar.disabled = !quantidade || quantidade <= 0;
}