www-lordnet-sh/assets/js/blog.js

41 lines
1.8 KiB
JavaScript
Raw Normal View History

(function () {
var listing = document.getElementById('blog-listing');
var content = document.getElementById('blog-window-content');
var panels = document.querySelectorAll('.blog-post-panel');
var tagBtns = document.querySelectorAll('.blog-tag');
var items = document.querySelectorAll('.post-list-item');
// ── Tag filtering ──────────────────────────────
tagBtns.forEach(function (btn) {
btn.addEventListener('click', function () {
tagBtns.forEach(function (b) { b.classList.remove('active'); });
btn.classList.add('active');
var tag = btn.dataset.tag;
items.forEach(function (li) {
var tags = li.dataset.tags ? li.dataset.tags.split(' ') : [];
li.style.display = (tag === '*' || tags.indexOf(tag) !== -1) ? '' : 'none';
});
});
});
// ── Open a post ────────────────────────────────
document.querySelectorAll('.blog-open-post').forEach(function (link) {
link.addEventListener('click', function (e) {
e.preventDefault();
listing.classList.add('hidden');
panels.forEach(function (p) { p.classList.add('hidden'); });
var panel = document.getElementById('blog-post-' + link.dataset.postIdx);
if (panel) { panel.classList.remove('hidden'); content.scrollTop = 0; }
});
});
// ── Back to listing ────────────────────────────
document.querySelectorAll('.blog-back').forEach(function (btn) {
btn.addEventListener('click', function () {
panels.forEach(function (p) { p.classList.add('hidden'); });
listing.classList.remove('hidden');
content.scrollTop = 0;
});
});
}());