if (document.querySelector('main').classList.contains("profile") && document.querySelectorAll('.postsList > .post').length > 0) { const observerCheck = (entry, observer) => { if (entry[0].isIntersecting) { const container = document.querySelector('.postsList'); const lastPost = document.querySelector('.postsList > .post:last-child'); const cursor = lastPost.getAttribute('data-cursor'); const user = lastPost.getAttribute('data-did'); const params = new URLSearchParams(); params.append("user", user); params.append("cursor", cursor); observer.unobserve(lastPost); fetch(`/api/userPosts?${params}`) .then((data) => { data.text().then((content) => { container.innerHTML += content; const newobserver = new IntersectionObserver(observerCheck); newobserver.observe(document.querySelector('.postsList > .post:last-child')); }); }, (err) => { console.error(err); const newobserver = new IntersectionObserver(observerCheck); newobserver.observe(document.querySelector('.postsList > .post:last-child')); }); } } const observer = new IntersectionObserver(observerCheck); observer.observe(document.querySelector('.postsList > .post:last-child')); }