Popular Post js for Random 8 latest (Label) Legendary post (place inside script)
// RANDOMIZED POPULAR POSTS FUNCTION (32 posts, 4 sets of 8)
async function loadPopularPosts() {
const popularContainer = document.getElementById("popular-posts");
popularContainer.innerHTML = "
`;
fragment.appendChild(link);
});
popularContainer.appendChild(fragment);
} catch (error) {
popularContainer.innerHTML = "
Loading Popular Anime...
"; // Fetch up to 32 posts (4 sets of 8) let allUrl = `https://rithickkrish.blogspot.com/feeds/posts/default/-/Legendary?alt=json&max-results=32`; try { let res = await fetch(allUrl); let data = await res.json(); if (!data.feed.entry) { popularContainer.innerHTML = "No popular posts found.
"; return; } let allLegendaryPosts = data.feed.entry.map(post => { let title = post.title.$t; let link = post.link.find(l => l.rel === "alternate").href; let thumb = "https://via.placeholder.com/65x95?text=Popular"; if ("media$thumbnail" in post) { thumb = post.media$thumbnail.url.replace("/s72-c/", "/s400/"); } return { title, link, thumb }; }); // Shuffle posts randomly (Fisher–Yates shuffle) for (let i = allLegendaryPosts.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [allLegendaryPosts[i], allLegendaryPosts[j]] = [allLegendaryPosts[j], allLegendaryPosts[i]]; } // Take first 8 posts from shuffled list let popularPosts = allLegendaryPosts.slice(0, 8); // Build DOM efficiently popularContainer.innerHTML = ""; const fragment = document.createDocumentFragment(); popularPosts.forEach(post => { const link = document.createElement("a"); link.href = post.link; link.className = "popular-link"; link.innerHTML = `${post.title}
Error loading popular posts.
"; console.error('Error loading popular posts:', error); } } document.addEventListener('DOMContentLoaded', loadPopularPosts);