import { GiftIcon } from "@heroicons/react/24/outline";
import { BLOCK_EXPLORER_URL } from "@hey/data/constants";
import {
PageSize,
type TokenDistributionsRequest,
useTokenDistributionsQuery
} from "@hey/indexer";
import dayjs from "dayjs";
import { useCallback } from "react";
import { Link } from "react-router";
import { WindowVirtualizer } from "virtua";
import Loader from "@/components/Shared/Loader";
import { EmptyState, ErrorMessage } from "@/components/Shared/UI";
import useLoadMoreOnIntersect from "@/hooks/useLoadMoreOnIntersect";
const List = () => {
const request: TokenDistributionsRequest = {
pageSize: PageSize.Fifty
};
const { data, error, fetchMore, loading } = useTokenDistributionsQuery({
variables: { request }
});
const tokenRewards = data?.tokenDistributions?.items;
const pageInfo = data?.tokenDistributions?.pageInfo;
const hasMore = pageInfo?.next;
const handleEndReached = useCallback(async () => {
if (hasMore) {
await fetchMore({
variables: { request: { ...request, cursor: pageInfo?.next } }
});
}
}, [fetchMore, hasMore, pageInfo?.next, request]);
const loadMoreRef = useLoadMoreOnIntersect(handleEndReached);
if (loading) {
return