window.observeVisibility = (dotNetRef) => {
    const elements = document.querySelectorAll(".chat-bubble[data-id]");
    const observer = new IntersectionObserver(entries => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                const id = entry.target.getAttribute("data-id");
                dotNetRef.invokeMethodAsync("MarkAsRead", parseInt(id));
                observer.unobserve(entry.target); // دیگه دوباره نخونه
            }
        });
    }, {
        threshold: 0.6 // 60٪ از پیام دیده بشه
    });

    elements.forEach(el => observer.observe(el));
};
