script.js
import { adicionarItem } from "./js/adicionarItem.js";
import { verificarListaComprados } from "./js/verificarListaComprados.js";
const botaoSalvarItem = document.getElementById("adicionar-item");
botaoSalvarItem.addEventListener("click", adicionarItem);
const listaComprados = document.getElementById("lista-comprados");
verificarListaComprados(listaComprados);
criarItemDaLista.js
import { criarItemData } from "./criarItemData.js";
import { verificarListaComprados } from "./verificarListaComprados.js";
const listaComprados = document.getElementById("lista-comprados");
let contador = 0;
export function criarItemDaLista(item, lista) {
const itemDaLista = document.createElement("li");
const containerItemLista = document.createElement("div");
containerItemLista.classList.add("lista-item-container");
const containerNomeDoItem = document.createElement("div");
const containerCheckbox = document.createElement("div");
containerCheckbox.classList.add("container-checkbox");
const checkboxInput = document.createElement("input");
checkboxInput.type = "checkbox";
checkboxInput.classList.add("input-checkbox");
checkboxInput.id = "checkbox-" + contador++;
const checkboxLabel = document.createElement("label");
checkboxLabel.setAttribute("for", checkboxInput.id);
checkboxLabel.addEventListener("click", function (evento) {
const checkboxInput = evento.currentTarget.querySelector(".input-checkbox");
const checkboxCustomizado = evento.currentTarget.querySelector(".checkbox-customizado");
const itemTitulo = evento.currentTarget.closest("li").querySelector("#item-titulo")
if (checkboxInput.checked) {
checkboxCustomizado.classList.add("checked");
itemTitulo.style.textDecoration = "line-through";
listaComprados.appendChild(itemDaLista)
} else {
checkboxCustomizado.classList.remove("checked");
itemTitulo.style.textDecoration = "none";
lista.appendChild(itemDaLista)
}
verificarListaComprados(listaComprados);
})
const checkboxCustomizado = document.createElement("div");
checkboxCustomizado.classList.add("checkbox-customizado");
checkboxLabel.appendChild(checkboxInput);
checkboxLabel.appendChild(checkboxCustomizado);
containerCheckbox.appendChild(checkboxLabel);
containerNomeDoItem.appendChild(containerCheckbox)
const nomeDoItem = document.createElement("p");
nomeDoItem.id = "item-titulo";
nomeDoItem.innerText = item;
containerNomeDoItem.appendChild(nomeDoItem)
const containerBotoes = document.createElement("div");
const botaoRemover = document.createElement("button");
botaoRemover.classList.add("item-lista-button");
const imagemRemover = document.createElement("img");
imagemRemover.src = "img/delete.svg";
imagemRemover.alt = "Remover";
botaoRemover.appendChild(imagemRemover);
containerBotoes.appendChild(botaoRemover);
const botaoEditar = document.createElement("button");
botaoEditar.classList.add("item-lista-button")
const imagemEditar = document.createElement("img");
imagemEditar.src = "img/edit.svg";
imagemEditar.alt = "Editar";
botaoEditar.appendChild(imagemEditar);
containerBotoes.appendChild(botaoEditar);
containerItemLista.appendChild(containerNomeDoItem);
containerItemLista.appendChild(containerBotoes);
const itemData = criarItemData();
itemDaLista.appendChild(containerItemLista);
itemDaLista.appendChild(itemData);
return itemDaLista;
}
criarItemData.js
const itemData = document.createElement("p");
export function criarItemData () {
itemData.innerText = `${new Date().toLocaleDateString("pt-BR", { weekday: "long" })} (${new Date().toLocaleDateString()}) às ${new Date().toLocaleTimeString("pt-BR", { hour: "numeric", minute: "numeric" })}`;
itemData.classList.add("texto-data");
return itemData;
}
verificarListaComprados.js
const conteinerListaComprado = document.getElementById("conteiner-lista-comprado");
export function verificarListaComprados(lista){
if (lista.childElementCount === 0) {
conteinerListaComprado.style.display = "none";
} else {
conteinerListaComprado.style.display = "block";
}
}