'use client'; import { Photo, PhotoSetCategory, altTextForPhoto, doesPhotoNeedBlurCompatibility, } from '.'; import ImageMedium from '@/components/image/ImageMedium'; import { clsx } from 'clsx/lite'; import { pathForPhoto } from '@/site/paths'; import { SHOULD_PREFETCH_ALL_LINKS } from '@/site/config'; import { useRef } from 'react'; import useOnVisible from '@/utility/useOnVisible'; import LinkWithStatus from '@/components/LinkWithStatus'; import Spinner from '@/components/Spinner'; export default function PhotoMedium({ photo, tag, camera, simulation, focal, selected, priority, prefetch = SHOULD_PREFETCH_ALL_LINKS, className, onVisible, }: { photo: Photo selected?: boolean priority?: boolean prefetch?: boolean className?: string onVisible?: () => void } & PhotoSetCategory) { const ref = useRef(null); useOnVisible(ref, onVisible); return ( {({ isLoading }) =>
{isLoading &&
}
}
); };