The Idukki widget is a single self-contained <script>. It renders into a placeholder div, mounts on first scroll-in, never touches React state outside of itself.
Next.js (App Router)
import Script from "next/script"
export function IdukkiGallery({ id }: { id: string }) {
return (
<div data-idukki-collection={id}>
<Script src="https://cdn.idukki.io/widget.js" strategy="lazyOnload" />
</div>
)
}Hydrogen
Use a similar pattern with @shopify/hydrogen’s ClientOnly. Place the script in a leaf component to avoid SSR mismatch.