Component

PhotoCard

A single photo tile with a bottom-gradient overlay showing title and category. Always used as a child of PhotoRow — never sets its own height.

Default

Mountain landscape

Cascade Range, WA

Landscape

tsx
<PhotoRow height={300}>
  <PhotoCard
    src="..."
    alt="Mountain landscape"
    title="Cascade Range, WA"
    category="Landscape"
  />
</PhotoRow>

Flex weights (asymmetric row)

Wide photo

Landscape

Narrow photo

Portrait

tsx
<PhotoRow height={260} gap={3}>
  <PhotoCard flex={1.6} title="Wide photo"   category="Landscape" ... />
  <PhotoCard flex={1}   title="Narrow photo" category="Portrait"  ... />
</PhotoRow>

Large title (full-bleed)

Columbia River Gorge

Landscape

tsx
<PhotoRow height={420}>
  <PhotoCard titleSize="lg" title="Columbia River Gorge" category="Landscape" ... />
</PhotoRow>

Props

PropTypeDefaultDescription
srcstringImage URL (Sanity CDN or Unsplash).
altstringAccessible image description.
titlestringPhoto title shown in overlay.
categorystringCategory tag shown below title.
flexnumber1Flex weight controlling proportional width.
titleSize"sm" | "md" | "lg""md"Size of the title text. Use "lg" for full-bleed rows.
onClick() => voidOptional click handler — adds hover scale and cursor pointer.