Commit 4cc10d4f authored by Mahmoud Aglan's avatar Mahmoud Aglan

Fix ghost lists: remove JS IntersectionObserver that hides all cards

Root cause found: app.js sets opacity:0 + transform:translateY(16px) on
EVERY .card element at DOMContentLoaded, then relies on an
IntersectionObserver to reveal them. When cards are already in viewport
or content is tall, the observer fails to fire and cards stay invisible.

Zooming triggered a layout recalculation that forced the observer to
re-evaluate, making content reappear — explaining the user's symptom.
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent 88b6e082
......@@ -435,23 +435,6 @@ document.addEventListener('DOMContentLoaded', function() {
});
});
// Smooth scroll reveal for cards
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
revealObserver.unobserve(entry.target);
}
});
}, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });
document.querySelectorAll('.card, .stats-card').forEach(card => {
card.style.opacity = '0';
card.style.transform = 'translateY(16px)';
card.style.transition = 'opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1)';
revealObserver.observe(card);
});
});
// ── Helpers ──
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment