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)