Load the next page when a sentinel scrolls into view, with a loading row, an end of list message and a Load more button as the accessible fallback.
npx shadcn@latest add @minidev/infinite-scroll
infinite-scroll