Examples

    Media gallery module

    Split or unified media gallery patterns with no-JS-safe content rendering.

    Photos

    Photos are intentionally split from videos for parity with sites that use distinct sections.

    Media note

    Media shown here are examples and may include non-adoptable dogs. Use this optional notice for context/disclaimers.

    Dog portrait close-up
    Recent intake after medical check.
    Dog running in grass
    Weekend adoption event highlights.

    Browse photos and videos, and open any image for a closer look.

    Follow updates

    Optional social CTA block for gallery pages.

    Videos

    Videos are rendered in their own gallery section.

    Volunteer Day Recap

    Short recap from the latest volunteer and enrichment day.

    Foster Update

    Progress update from a temporary foster placement.

    Browse photos and videos, and open any image for a closer look.

    Media gallery (unified variant)

    Use unified mode when photos and videos should appear in one section.

    Foster Update

    Progress update from a temporary foster placement.

    Volunteer Day Recap

    Short recap from the latest volunteer and enrichment day.

    Dog running in grass
    Weekend adoption event highlights.
    Dog portrait close-up
    Recent intake after medical check.

    Browse photos and videos, and open any image for a closer look.

    Media gallery (empty state)

    Unified photo + video gallery with optional filtering.

    Media items coming soon.

    Validation checklist

    - Photos and videos render without JavaScript.

    - Filter controls are optional and only enhance browsing behavior.

    - Photo lightbox is optional and must not replace direct media links.

    - Lightbox supports previous/next navigation via on-screen controls and keyboard arrows.

    - Empty-state copy is visible when no media items are provided.

    - Optional shuffle/limits/info/social blocks can be enabled per page.