import { clsx } from 'clsx/lite'; import { Photo, PhotoDateRange, dateRangeForPhotos } from '.'; import ShareButton from '@/components/ShareButton'; import AnimateItems from '@/components/AnimateItems'; import { ReactNode } from 'react'; import { HIGH_DENSITY_GRID } from '@/site/config'; import DivDebugBaselineGrid from '@/components/DivDebugBaselineGrid'; export default function PhotoSetHeader({ entity, entityVerb, entityDescription, photos, selectedPhoto, sharePath, indexNumber, count, dateRange, }: { entity: ReactNode entityVerb?: string entityDescription: string photos: Photo[] selectedPhoto?: Photo sharePath?: string indexNumber?: number count?: number dateRange?: PhotoDateRange }) { const { start, end } = dateRangeForPhotos(photos, dateRange); const selectedPhotoIndex = selectedPhoto ? photos.findIndex(photo => photo.id === selectedPhoto.id) : undefined; return ( {entity} {selectedPhotoIndex !== undefined // eslint-disable-next-line max-len ? `${entityVerb ? `${entityVerb} ` : ''}${indexNumber || (selectedPhotoIndex + 1)} of ${count ?? photos.length}` : entityDescription} {selectedPhotoIndex === undefined && sharePath && } {start === end ? start : <>{end}
– {start}}
]} /> ); }