Skip to content

feat(gallery): analytics, keyboard nav, memoization, integration test… - #1313

Merged
nanaf6203-bit merged 1 commit into
MettaChain:mainfrom
fadee26:feat/gallery-a11y-analytics
Oct 21, 2026
Merged

nanaf6203-bit merged 1 commit into
MettaChain:mainfrom
fadee26:feat/gallery-a11y-analytics

Conversation

@fadee26

@fadee26 fadee26 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Summary

#1259 Analytics

  • src/lib/galleryAnalytics.ts → gtag + dataLayer
  • Events: gallery_view, gallery_thumbnail_click, gallery_lightbox_open/close/navigate, gallery_keyboard_navigate

#1258 Keyboard navigation

  • Main image + thumbnails: Arrow/Home/End move focus; Enter/Space opens lightbox
  • role="region" / listbox / focus-visible rings
  • Lightbox keeps ← / → / Escape

#1257 Re-render optimization

  • memo on ImageGallery / content
  • Stable useCallback handlers; useMemo thumbnail slice
  • Lightbox navigate* as useCallback

#1256 Integration tests

  • ImageGallery.integration.test.tsx — empty state, analytics, open, keyboard, Escape close
  • galleryAnalytics.test.ts
  • docs/GALLERY.md

Closes #1256
Closes #1257
Closes #1259

@drips-wave

drips-wave Bot commented Oct 20, 2026

Copy link
Copy Markdown

@fadee26 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@nanaf6203-bit nanaf6203-bit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! The keyboard nav and memoization are welcome additions, and glad to see the integration test coverage. Ship it 🚀

@nanaf6203-bit
nanaf6203-bit merged commit d89fc2f into MettaChain:main Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add analytics events to Gallery Optimize re-renders in Gallery Write integration tests for Gallery

2 participants