Add image-gallery web component, use it in inat-sightings#276
Conversation
Saves a cleaned-up image-gallery-component.js (the gist export had arrived with smart quotes, en-dashes in CSS variables, ellipsis spread operators, and stray markdown triple backticks). Switches inat-sightings.html to use the new component for each clump's photos, removing the now-redundant custom lightbox markup, styles, and code. https://claude.ai/code/session_01BArryzUYbt8tqHmC3KCp3j
|
Claude finished @simonw's task —— View job PR Review: Add image-gallery web componentReview Checklist
📋 Overall AssessmentThis PR successfully introduces a reusable image gallery web component and integrates it into the iNaturalist sightings viewer. The implementation shows good attention to detail and follows modern web standards. ✅ StrengthsCode Quality & Architecture
User Experience
Performance
🔍 Code Quality IssuesMinor Issues in
|
Allow <a> elements inside <figcaption> to remain interactive: - pointer-events: auto on figcaption links (overrides the figcaption's pass-through default that exists so clicks on caption text reach the underlying image link). - Clone caption childNodes into the lightbox caption instead of using textContent, so the link survives there too. - Style links with underline + visible color in both the thumbnail and lightbox caption. Restores the per-observation iNaturalist link in inat-sightings.html by wrapping the species name in an <a href="obs.uri"> inside figcaption. https://claude.ai/code/session_01BArryzUYbt8tqHmC3KCp3j
Deploying tools with
|
| Latest commit: |
81b370f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cc762b8c.tools-b1q.pages.dev |
| Branch Preview URL: | https://claude-add-image-gallery-com.tools-b1q.pages.dev |
|
Claude finished @simonw's task —— View job PR Code Review: Image Gallery Web ComponentReview Checklist
📋 Overall AssessmentThis PR introduces a well-architected, reusable image gallery web component that significantly simplifies the iNaturalist sightings viewer. The implementation demonstrates solid understanding of modern web standards and provides excellent user experience across devices. ✅ Code Quality & Architecture StrengthsWeb Component Design (
|
Replace the percentage-based justified layout with a measured pixel layout that caps each row at --max-row-height (default 240px): - Single image fits within both maxH and the container width, so portrait shots no longer stretch to 75vh / 700px. - Multi-image rows still distribute widths by aspect ratio, but if the natural row height would exceed maxH, height is clamped and remaining horizontal space is centered (justify-content: center). - ResizeObserver re-runs the layout when the container width changes. Drop target="_blank" on the iNat observation link in inat-sightings.html. https://claude.ai/code/session_01BArryzUYbt8tqHmC3KCp3j
|
Claude finished @simonw's task —— View job PR Review: Image Gallery Web ComponentReview Checklist
📋 Overall AssessmentThis PR introduces a well-architected, reusable image gallery web component that significantly simplifies the iNaturalist sightings viewer. The implementation demonstrates solid understanding of modern web standards and provides excellent user experience across devices. ✅ StrengthsCode Quality & Architecture
User Experience
Integration Quality (
|
4 items now lays out as two rows of 2; larger counts use rows of 3 plus rows of 2 to absorb the remainder, with smaller rows leading. https://claude.ai/code/session_01BArryzUYbt8tqHmC3KCp3j
|
Claude finished @simonw's task —— View job PR Code Review: Image Gallery Web ComponentReview Checklist
📋 Overall AssessmentThis PR introduces a well-architected, reusable image gallery web component that significantly simplifies the iNaturalist sightings viewer. The implementation demonstrates solid understanding of modern web standards and provides excellent user experience across devices. ✅ StrengthsCode Quality & Architecture
User Experience
Integration Quality (
|

Saves a cleaned-up image-gallery-component.js (the gist export had
arrived with smart quotes, en-dashes in CSS variables, ellipsis spread
operators, and stray markdown triple backticks). Switches
inat-sightings.html to use the new component for each clump's photos,
removing the now-redundant custom lightbox markup, styles, and code.
https://claude.ai/code/session_01BArryzUYbt8tqHmC3KCp3j