Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

data.format is not a function

o navegador acusa erro ao usar o format

(https://github.com/Vi-op/JS-na-Web) Aqui meu git com o código e um print do erro. Agradeço muito aqueles que puderem me ajudar, estou à um dia tentando resolver esse problema

1 resposta
solução!

Oi Vinicius, tudo bem?

Rodei o seu código aqui na minha máquina e descobri qual o erro, vamos lá!

Primeiramente, no arquivo carregaTarefa.js, você está mandando todo o objeto para o componente Data (do arquivo criaData.js), mas como esse componente trabalha apenas com datas, o ideal seria passar apenas a data, e não a tarefa toda em si. Veja abaixo a correção:

loadedTasks.forEach((task) => {
    list.appendChild(Data(task.dateFormated))
});

Agora estamos passando apenas a data para o componente Data!

No arquivo criaData.js, você esqueceu de incluir a seguinte função:

const dataMoment = moment(date, 'DD/MM/YYYY')

Essa função informa a formatação necessária, para depois formatar de fato (quando você declara a variável content).

E então, o seu código completo do arquivo criaData.js deveria ser assim:

import { Tarefa } from "./criaTarefa.js";

export const Data = (date) => {
  const tasks = JSON.parse(localStorage.getItem('tasks')) || [];
  const dataMoment = moment(date, 'DD/MM/YYYY');
  const dateTop = document.createElement('li');
  const content = `<p class='content-data'>${dataMoment.format('DD/MM/YYYY')}</p>`;

  dateTop.innerHTML = content;

  tasks.forEach((task) => {
    const dia = moment(task.dateFormated, 'DD/MM/YYYY');
    const diff = dataMoment.diff(dia)

    if(diff == 0) {
      dateTop.appendChild(Tarefa(task))
    }
  });

  return dateTop;
}

Espero ter ajudado, bons estudos! =)