document.addEventListener('DOMContentLoaded', function() { const postsContainer = document.getElementById('blog-posts-container'); const loadingMessage = document.getElementById('loading-message'); fetch('./data/posts.json') // Caminho do JSON relativo a blog/index.html .then(response => { if (!response.ok) { throw new Error('Network response was not ok ' + response.statusText); } return response.json(); }) .then(posts => { loadingMessage.style.display = 'none'; // Esconde a mensagem de carregamento if (posts.length === 0) { postsContainer.innerHTML = '

Nenhum post disponível no momento.

'; return; } // Ordena os posts pela data mais recente (opcional, se o JSON não estiver em ordem) posts.sort((a, b) => new Date(b.date) - new Date(a.date)); posts.forEach(post => { const postCard = `
${post.title}
${post.title}

${post.summary}

Por ${post.author} em ${new Date(post.date).toLocaleDateString('pt-BR')}

Leia Mais
`; postsContainer.innerHTML += postCard; }); }) .catch(error => { console.error('Erro ao carregar os posts do blog:', error); loadingMessage.textContent = 'Erro ao carregar os posts. Tente novamente mais tarde.'; loadingMessage.classList.add('text-danger'); }); });