This is just a simples component that lazy load images with the IntersectionObserverApi.
Given that this repo is made with Next.js, It's way easier to just use the Next Image Component, since it already have a built-in lazy load and other important features. You can read more here.
But for demo purposes, We'll create our own Lazy load Component.