fazendo o desafio percebi que costumo tomar o caminho mais longo e dificil e o chat gpt n ajuda.
o trem todo ta no github aqui
js
let carrinho = document.getElementById('lista-produtos');
let total = document.getElementById('valor-total');
let valorTotal;
limpar()
function adicionar() {
//recuperar valores nome do produto, quantidade e valor
let produto = document.getElementById('produto').value;
let nomeProduto = produto.split('-')[0];
let valorUnitario = parseInt(produto.split('R$')[1]);
let quantidade = document.getElementById('quantidade').value;
//calcular o preço, o nosso subtotal
// Adicione validações no código para garantir que o usuário só consiga adicionar produtos ao carrinho se tiver selecionado um produto válido e inserido uma quantidade válida. Se a entrada não for válida, exiba uma mensagem de erro apropriada.
if (quantidade === '' || isNaN(Number(quantidade)) || Number(quantidade) === 0) {
alert('O campo quantidade não pode ser igual a zero ou vazio');
return
}
let preco = quantidade * valorUnitario;
//adicionar no 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
valorTotal = valorTotal + preco;
total.innerHTML = `R$${valorTotal}`;
document.getElementById('quantidade').value = " ";
}
function limpar() {
quantidade.value = ' ';
carrinho.innerHTML =' ';
valorTotal = 0;
total.innerHTML = `R$${valorTotal}`;
}
// Crie um formulário simples com campos de entrada e utilize JavaScript para recuperar os valores digitados nos campos usando a propriedade value. Exiba os valores no console e na tela.
let formulario = document.getElementById('cadstro__cliente');
formulario.addEventListener('submit', function(event) {
event.preventDefault(); // Impede a página de recarregar
let nome = document.getElementById('nome').value;
let endereco = document.getElementById('endereco').value;
let pagamento = document.getElementById('pagamento').value;
console.log(`Pedido para: ${nome}`);
console.log(`Endereço: ${endereco}`);
console.log(`Pagamento via: ${pagamento}`);
limparForm()
});
function limparForm() {
nome.value = "";
endereco.value = "";
pagamento.value = "";
frete.value = "";
desconto.value = "";
document.getElementById('sobre_voce').value = '';
}
// Tenha um elemento HTML na página (por exemplo, um parágrafo) e utilize JavaScript para modificar seu conteúdo usando a propriedade textContent.
function agradecimento() {
const titulo = document.querySelector('.titulo');
titulo.textContent = "OBRIGADO";
}
// Faça a soma de duas variáveis numéricas e apresente no console com uma mensagem amigável em Template String.
function finalizacao() {
//valorProduto - (valorProduto * fatorDesconto)
let frete = parseFloat(document.getElementById('frete').value);
let desconto = parseFloat(document.getElementById('desconto').value);
let descontoPorcentagem = parseFloat(desconto / 100);
console.log(`Ola ${nome.value} seu pedido é de R$${valorTotal}
com o frete de R$${frete}
e o desconto de ${desconto}%
fica ${(valorTotal+frete)-((valorTotal+frete)*descontoPorcentagem)}`);
}
// Receba, no mínimo, duas sentenças como uma string e utilize split() para quebrá-la em frases menores com base em um ponto e vírgula como delimitador.
function separadorDeTexto() {
let sobreVoce = document.getElementById('sobre_voce').value;
// let valorUnitario = parseInt(produto.split('R$')[1]);
let info = sobreVoce.split(';');
console.log(sobreVoce);
console.log(info);
}
const numerosSeparados = "10,20,30,40,50";
const arrayNumeros = numerosSeparados.split(',');
console.log(arrayNumeros);