Skip to content

fix(media): a ride shows its own photo or none - #271

Merged
PArns merged 1 commit into
mainfrom
claude/unified-image-database-ee5q0m
Aug 5, 2026
Merged

fix(media): a ride shows its own photo or none#271
PArns merged 1 commit into
mainfrom
claude/unified-image-database-ee5q0m

Conversation

@PArns

@PArns PArns commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Standing in the park's background photo when a ride had none looked like a graceful fallback. On the Phantasialand park page it looks like a bug — Bolles Flugschule, Bolles Riesenrad and Das verrückte Hotel Tartüff sitting next to each other, all three showing the same carousel, one of them a hotel dark ride.

An empty card says "no photo of this ride yet", which is true. The park's photo says "this is what the ride looks like", which is not.

What changed

The ride → park fallback is gone everywhere a picture stands for a ride:

where was is
ride cards (enrichAttractionsWithImages, getCardObjectPosition) ride photo, else park photo ride photo, else nothing
ride page backdrop ride photo, else park photo ride photo, else nothing
ride JSON-LD image (getAttractionImageSet) ride crops, else park crops ride crops, else the OG card
blog ride widgets + the editor's preview of them ride photo, else park photo ride photo, else nothing

No new empty state was needed: AttractionCard already renders its gradient placeholder without a photo, and ParkBackground already returns null without a source.

The OG card keeps the park photo. There it is chrome behind text that names the ride, not the thing being shown, and a blank social preview is the worse trade.

Verification

pnpm lint, tsc --noEmit and pnpm build green, test:media 49/49. Against a running production server:

  • /api/parks/europe/germany/bruehl/phantasialand — all three rides from the screenshot now come back with backgroundImage: null, while River Quest, Black Mamba, Taron, F.L.Y., Winja's Fear, Colorado Adventure, Chiapas, Raik, Geister Rikscha and Mystery Castle keep their own.
  • The Tartüff ride page renders no /media/ URL at all; the Taron page still serves taron.jpg and its three crops.
  • The park page's own backdrop is unaffected — background-16x9/4x3/1x1 still resolve there.

Winja's Force and YOY Thrill now show no photo rather than their park's; that was already the documented cost of merging the duplicate images, and docs/features/media-database.md is updated to say so plainly.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UaVtda1khmn5Ctu7MFJGpn


Generated by Claude Code

Standing in the park's background photo when a ride had none looked like a
graceful fallback. On a park page it looks like a bug: Bolles Flugschule,
Bolles Riesenrad and Das verrückte Hotel Tartüff sat next to each other,
all three showing the same carousel, one of them a hotel dark ride.

An empty card says "no photo of this ride yet", which is true. The park's
photo says "this is what the ride looks like", which is not. The empty
state was already built — AttractionCard has its gradient placeholder and
ParkBackground renders nothing without a source.

Dropped the fallback on the cards (enrichAttractionsWithImages,
getCardObjectPosition, the blog widgets and the editor's preview of them),
on the ride page backdrop, and in the ride's JSON-LD image, which now
falls through to the OG card instead of the park's picture.

The OG card itself keeps the park photo: there it is chrome behind text
naming the ride, not the thing being shown, and a blank social preview is
the worse trade.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UaVtda1khmn5Ctu7MFJGpn
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
park.fan Ready Ready Preview Aug 5, 2026 1:15pm

Request Review

@PArns
PArns marked this pull request as ready for review August 5, 2026 13:16
@PArns
PArns merged commit 5f26aa5 into main Aug 5, 2026
3 checks passed
@PArns
PArns deleted the claude/unified-image-database-ee5q0m branch August 5, 2026 13:16
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.

2 participants