"use client"; import InfiniteScroll from "react-infinite-scroll-component"; import Image from "next/image"; import { useState } from "react"; import { getLogos } from "@/app/_actions/logos"; export const InfiniteGallery = ({ logos: initialLogos, hasMore: initialHasMore, }: { logos: Array; hasMore: boolean; }) => { const [page, setPage] = useState(0); const [logos, setLogos] = useState([...initialLogos]); const [hasMore, setHasMore] = useState(initialHasMore); const fetchMoreData = async () => { const newLogos = await getLogos(page + 1); setLogos([...logos, ...newLogos.logos]); setHasMore(newLogos.hasMore); setPage(page + 1); }; return ( Loading... } className="max-lg:grid max-lg:grid-cols-2 lg:flex lg:items-start lg:justify-center gap-6 flex-wrap" endMessage={
Yay! You have seen it all
} > {logos.map((index) => ( Generated logo ))}
); };