Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida com localStorage

Olá bom dia. Me surgiu uma dúvida quanto ao localStorage, eu posso cada vez que adicionar uma tarefa adicionar um item no localStorage ou é uma má prática? Digo sem precisar adicionar esse item num array de tarefas por exemplo, só colocá-lo lá junto com o id, deu pra entender?

4 respostas

Fala Victória, tudo bem?

Você pode sim fazer isso, porém irá dificultar o seu código, e pode haver erros porque vai ser necessário fazer um looping por todos os itens do seu localStorage, e pode haver conflito com algum outro que não seja o desejeado.

Espero ter ajudado, bons estudos :D

Eu to com problemas em um código, to tentando fazer uma to do list, implementei a função que deleta e tá até ok, mas não consigo implementar a função que risca o nome, vou colar aqui pra vê se vc pode me ajudar

const Card = (card) => {
  const task = `
  <div class="box__main__card">
    <div class="box__main__card__info">
      <input type="checkbox" name="done" class="done" />
      <p class="content">${card.content}</p>
    </div>
    <div class="box__main__card__icon">
      <i class="material-icons" id="edit">edit</i>
      <i class="material-icons" id="close">close</i>
    </div>
  </div> 
  `;

  return task;
};
const addTask = document.querySelector(".btnAdd");
const inputTask = document.querySelector("[taskInput]");
const taskBox = document.querySelector("[task-box]");

const newTask = () => {
  const taskArr = JSON.parse(localStorage.getItem("tasks")) || [];

  let inputValue = inputTask.value;
  const finis

insira seu código aqui

hed = false;

  let card = {
    content: inputValue,
    finished,
  };

  const taskUpdate = [...taskArr, card];

  const task = Card(card);
  saveLocalStorage("tasks", taskUpdate);
  inputValue = "";
  return task;
};

addTask.addEventListener("click", () => {
  let card = newTask();
  taskBox.innerHTML += card;
  inputTask.value = "";
  taskFinished();
  deleteTask();
});

const saveLocalStorage = (key, object) => {
  localStorage.setItem(key, JSON.stringify(object));
};

export default newTask;
const taskFinished = () => {
  const checkBox = document.querySelectorAll(".done");
  checkBox.forEach((check, id) => {
    check.addEventListener("change", () => {
      const tasksArr = JSON.parse(localStorage.getItem("tasks"));
      const pContent = document.querySelector(".content");
      tasksArr[id].finished = !tasksArr[id].finished;

      if (tasksArr[id].finished == true) {
        pContent.classList.add("checked");
      } else {
        pContent.classList.remove("checked");
      }
    });
  });
};

Não sei se vai ficar confuso :/

Não consigo alterar o estado de finished dentro do localStorage e ele não aplica a classe dentro do pContent corretamente

solução!

Já resolvi, obrigada!