Simple infinite scroll component. You have fully control over the loading spinner and IntersectionObserver API.