--- // The lightbox page passes a resolved `photo` object taken from the // horizontal-filtered list; the Eleventy reference's background/img src follows // that same filtered order, so a direct object is the faithful mapping. // TODO: the id-based lookup into photos.json and the `{% else %}` svg.html // fallback branch (ui/svg.html) — both unused on the lightbox page. interface Photo { file: string; title?: string; } interface Props { photo: Photo; /** background param — plain
with only the background-image (no ratio class) */ background?: boolean; /** ratio param — img-responsive img-responsive-{ratio} wrapper */ ratio?: string; class?: string; } const { photo, background, ratio, class: className } = Astro.props; const src = `./static/photos/${photo.file}`; --- { background ? (
) : ratio ? (
) : ( {photo.title} ) }