Skip to content

Vendors: Add photo support — profile photo, photo gallery, and list thumbnail #271

@daveharmswebdev

Description

@daveharmswebdev

Feature Request — Vendor Photos: Profile Photo + Gallery

Found during: Manual testing of Vendor detail and list pages


Current Behavior

Vendors have no photo support at all. The vendor detail page shows Contact Information, Trade Tags, and Work Order History — but no photos. The vendor list shows a generic person icon placeholder.

Expected Behavior

1. Profile / Contact Photo (Primary Photo)

  • A headshot or contact photo displayed prominently in the Contact Information section of the vendor detail page
  • This becomes the primary photo for the vendor

2. Photo Gallery

  • A photo gallery section on the vendor detail page for uploading multiple images
  • Typical use cases:
    • Business cards
    • Photos of service vehicles
    • Certifications / licenses
    • Completed work samples

3. Vendor List Thumbnail

  • The vendor list (/vendors) should display the primary photo thumbnail in each vendor card, replacing the current generic person icon
  • Consistent with how the Properties list already displays property photos

Implementation Scope

This is a full-stack feature:

  • Domain: Add photo entity relationship to Vendor (similar to existing Property/WorkOrder photo support)
  • Backend: Photo upload/delete endpoints for vendors, include primary photo URL in list and detail responses
  • Infrastructure: S3 storage + thumbnail generation (reuse existing photo pipeline from Properties/WorkOrders)
  • Frontend: Photo upload component on vendor detail, gallery display, thumbnail in vendor list cards

Reference

The Properties feature already has full photo support (upload, gallery, primary photo, list thumbnails) — the same pattern should be extended to Vendors.

Labels: enhancement, frontend, backend, vendor

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions