Standards

    Found pattern

    Use this module to list found dogs: a card grid of notices with status filtering. It lists notices only; any guidance a rescue offers the public is its own page content.

    Example

    This is the whole module: a list of found dogs. Guidance for the public (keep-them-safe tips, how to submit a notice, reunification steps, contact buttons, trapping advice) is not part of it. A site that offers that writes it as page-local content around FoundListingsSection and passes in only the listings, labels and empty message.

    Current Found Dog Notices

    Sample found dog notice 1

    Buddy (Found Dog)

    • Gender: Male
    • Found date: 3/26/2026
    • Found location: Eastgate, Example City 90210
    • Cross streets: Juniper Ave and 3rd St
    • Microchip: Unknown

    Friendly tan dog found near a grocery parking lot wearing a blue collar and no tags.

    Sample found dog notice 2

    Luna (Found Dog)

    • Gender: Female
    • Found date: 3/29/2026
    • Found location: North Hills, Example City 90211
    • Cross streets: Olive Dr and Canyon Rd
    • Microchip: Not Detected

    Small black-and-white dog found near a trailhead with a red harness and no owner nearby.

    Standard

    - Use `FoundListingsSection` for all found-notice pages; it only lists found dogs.

    - Keep listing data normalized in `FoundListing` objects (`pet`, `location`, `source`, `status`).

    - Use mode controls (`local`, `external`, `hybrid`) instead of page-local filtering logic.

    - Do not add public-guidance content to the module (hold-the-dog warnings, notice checklists, reunification steps, submit-a-notice buttons, trapping advice). A site that offers those services writes them as page-local content around the list (Rovers Return Dog Rescue is the reference).

    - Source/media links should open in a new tab with safe rel attributes.

    - Use neutral styling defaults (no site-specific color branding in shared standards).

    - Use `statusFilter` plus `showReunited`/`showArchived` (both default `false`) to control found-notice lifecycle visibility: active notices show by default; reunited/archived are opt-in.

    - Cards render from normalized `FoundListing` metadata with a generic heading (`labels.noticeTitle`, no notice number); image and source links open safely in a new tab.

    - Use `gender` on the pet profile: it matches the field name used across every other pattern (`AdoptablePetsSection`, kennel-display tools).

    - Component: `template/src/components/patterns/FoundListingsSection.tsx`