document.addEventListener('DOMContentLoaded', function(){ const list = []; //criar array vazio para adicionar os itens nele const form = document.querySelector('.shopping-form'); const itemInput = document.querySelector('.shopping-form-item-input'); const quantityInput = document.querySelector('.shopping-form-quantity-input'); const incrementButton = document.querySelector('.shopping-form-increment-button'); const decrementButton = document.querySelector('.shopping-form-decrement-button'); const items = document.querySelector('.shopping-items'); incrementButton.addEventListener("click", incrementQuantity); decrementButton.addEventListener("click", decrementQuantity); form.addEventListener("submit", addItemToList); function incrementQuantity(){ const currentValue = Number(quantityInput.value); //era string, passa ser numero const newValue = currentValue +1; //adiciona +1 quantityInput.value = newValue; //adiciona o num atualizado no input } function decrementQuantity(){ const currentValue = Number(quantityInput.value); //era string, passa ser numero const newValue = currentValue -1; //adiciona +1 if(newValue > 0){ quantityInput.value = newValue; //adiciona o num atualizado no input } } function addItemToList(event){ event.preventDefault(); //evitar o padrao, que é atualizar a pag e passar parametros na url const itemName = event.target["item-name"].value; //pegar valor do input name const itemQuantity = event.target["item-quantity"].value; //pegar valor do input quantity if(itemName !== ""){ //se o input nao estiver vazio, criar um objeto const item = { name: itemName, quantity: itemQuantity, }; //criar objeto com os parametros recebidos list.push(item); //adicionar o objeto no array renderListItems(); //chamar a funcao que renderiza os itens resetInputs(); //chamar a funcao que reseta os inputs } } function renderListItems(){ let itemsStructure = ""; list.forEach(function(item) { itemsStructure += `
  • ${item.name} ${item.quantity}
  • `; }); items.innerHTML = itemsStructure; //adiciona na const items(que é a div), um foreach do itemsstruture } function resetInputs(){ //resetar valor inputs itemInput.value = ""; quantityInput.value = 1; } })