Product Hunt: collapsible comment threads
Adds a collapse button to each top-level comment so you can quickly hide long threads.
Code to copy
// Add a click-to-collapse toggle to each top-level comment
(function () {
function patch() {
document.querySelectorAll('[data-test^="comment-"]').forEach(function (c) {
if (c.dataset.jzCollapse) { return; }
if (c.closest('[data-test^="comment-"] [data-test^="comment-"]')) { return; }
c.dataset.jzCollapse = '1';
var btn = document.createElement('button');
btn.textContent = '[-]';
btn.style.cssText = 'cursor:pointer;margin-right:6px;border:none;background:none;color:#da552f;font-weight:700;';
btn.addEventListener('click', function () {
var hidden = c.dataset.jzHidden === '1';
Array.from(c.children).forEach(function (ch) {
if (ch !== btn.parentNode) { ch.style.display = hidden ? '' : 'none'; }
});
c.dataset.jzHidden = hidden ? '0' : '1';
btn.textContent = hidden ? '[-]' : '[+]';
});
var head = document.createElement('div');
head.appendChild(btn);
c.insertBefore(head, c.firstChild);
});
}
patch();
var obs = new MutationObserver(function () {
clearTimeout(window.__jzPrhCollapse);
window.__jzPrhCollapse = setTimeout(patch, 500);
});
obs.observe(document.body, { childList: true, subtree: true });
})();
How to use this example
- Copy the code with the button above.
- Install JustZix (2 minutes) and open the extension on the target page.
- Add a new rule matching that page.
- Paste the code into the rule's JavaScript panel and save — it runs on every page visit.
Rate this example
No ratings yet — be the first.