'use client'; import { Photo, altTextForPhoto, doesPhotoNeedBlurCompatibility, } from '.'; import { PhotoSetCategory } from '../category'; import ImageMedium from '@/components/image/ImageMedium'; import { clsx } from 'clsx/lite'; import { pathForPhoto } from '@/app/path'; import { SHOULD_PREFETCH_ALL_LINKS } from '@/app/config'; import { useRef } from 'react'; import useVisibility from '@/utility/useVisibility'; import LinkWithStatus from '@/components/LinkWithStatus'; import Spinner from '@/components/Spinner'; import PhotoColors from './color/PhotoColors'; export default function PhotoMedium({ photo, selected, priority, prefetch = SHOULD_PREFETCH_ALL_LINKS, className, onVisible, debugColor, ...categories }: { photo: Photo selected?: boolean priority?: boolean prefetch?: boolean className?: string onVisible?: () => void debugColor?: boolean } & PhotoSetCategory) { const ref = useRef(null); useVisibility({ ref, onVisible }); return ( {({ isLoading }) =>
{isLoading &&
} {debugColor && photo.colorData &&
}
}
); };