1
resposta

Erro no arquivo Mural.js (Inclusão da solução)

Eu tive o mesmo problema e não consegui e acusava erro na linha 3 do Mural.js

Criando uma variável listaCartao = [] e na sequência um if para ver se o localStorage estava retornando "Null", consegui resolver o problema.

Segue abaixo a solução criada

const Mural = (function(_render, Filtro){
    "use strict"
    let listaCartao = localStorage.getItem("cartoes")

    let cartoes = [] 
    if(listaCartao !== null) {
        cartoes = JSON.parse(listaCartao).map(cartaoLocal => new Cartao(cartaoLocal.conteudo, cartaoLocal.tipo)) 
        cartoes.forEach(cartao => {
            preparaCartao(cartao)
        })
    }
    const render = () => _render({cartoes: cartoes, filtro: Filtro.tagsETexto});
    render()
    Filtro.on("filtrado", render)

    function preparaCartao(cartao){
        cartao.on("mudanca.**", salvaCartoes)
        cartao.on("remocao", ()=>{
            cartoes = cartoes.slice(0)
            cartoes.splice(cartoes.indexOf(cartao),1)
            salvaCartoes()
            render()
        })
    }

    function salvaCartoes(){
        localStorage.setItem("cartoes", JSON.stringify(
            cartoes.map(cartao => ({conteudo: cartao.conteudo, tipo: cartao.tipo}))
        ))
    }

    function adiciona(cartao){
        if(logado){
            cartoes.push(cartao)
            salvaCartoes()
            cartao.on("mudanca.**", render)
            preparaCartao(cartao)

            render()
            return true
        } else {
            alert("Você não está logado")
        }
    }

    return Object.seal({
        adiciona
    })

})(Mural_render, Filtro)
1 resposta

Fala ai Ricardo, tudo bem? Muito bom, parabéns por resolver o problema e obrigado por compartilhar a solução com a gente.

Abraços e bons estudos.