Tentei muito fazer o update e o remove antes de ver as aulas, mas não consegui!
mas já tive uma ideia do porquê de não estar conseguindo!
mas vai o que tenho até aqui!
index.js
const form = document.getElementById('novo-item')
const lista = document.querySelector('.lista')
var itens = JSON.parse(localStorage.getItem('itens')) || []
form.addEventListener('submit', (event) => {
event.preventDefault()
captarDados(event)
})
const validarDados = (nome, qtd) => (nome && qtd ? true : false)
function captarDados(e) {
let nome = e.target.elements['nome-item']
let quantidade = e.target.elements['qtd-item']
let dados = {
nome: nome.value,
quantidade: quantidade.value
}
if (validarDados(nome, quantidade)) {
criarElemento(dados)
setDados(dados)
} else {
alert('Favor preencher todos os campos!')
}
nome.value = ''
quantidade.value = ''
}
function criarElemento(array) {
let novoItem = `<strong class="qtd-item">${array.quantidade}</strong>`
novoItem += `<span class="nome-item">${array.nome}</span>`
novoItem += `<button class="del-btn">x</button>`
let li = document.createElement('li')
li.classList.add('lista__item')
li.innerHTML = novoItem
lista.appendChild(li)
}
function setDados(array) {
const itemAtual = {
nome: array.nome,
quantidade: array.quantidade
}
itens.push(itemAtual)
localStorage.setItem('itens', JSON.stringify(itens))
}
function getDados() {
let dados = JSON.parse(localStorage.getItem('itens')) || []
if (dados != null) {
dados.forEach((element) => {
itens.push(element)
})
}
return itens
}
function preencher(array) {
let dados = array
dados.forEach((el) => {
criarElemento(el)
})
}
preencher(getDados())