Link game box art to game profile pages #4

Open
opened 2024-01-14 14:13:42 -06:00 by jimmyb · 0 comments
Owner

Game box art should link to the matching game profile anywhere public game lists or sidebar cards show a game image.

The current Laravel checkout already has public game profile routes at /game/{gameId}/{gameName?} and platform listing pages use a reusable <x-site.game-card> component with title links, box art URLs, ratings, comments, and favorite-count placeholders. However, the reusable game card currently renders box art as a plain image, and several original target surfaces such as search results, newly added games, favorites, wishlists, and most popular games are still incomplete or placeholders. This issue tracks making box art consistently clickable as those public game-list surfaces are rebuilt.

Scope

  • Reusable public game card/list-item presentation.
  • Platform game listing pages.
  • Most Popular Games sidebar card when implemented.
  • Search result listings when rebuilt.
  • Newly Added Games listing when rebuilt.
  • Public and private Favorites listings when rebuilt.
  • Public and private Wishlist listings when rebuilt.
  • Accessible image-link behavior for games with and without box art.

Acceptance Criteria

  • Box art in reusable public game cards links to the same canonical game profile URL as the game title.
  • Platform listing box art links to /game/{id}/{slug} for each active game.
  • Future search, newly added, favorites, wishlists, and most popular surfaces use the same clickable box art behavior.
  • Box art links preserve image alt text and remain accessible to keyboard and screen-reader users.
  • Games without box art do not produce broken image links or confusing empty anchors.
  • Missing, disabled, or soft-deleted games are not linked from public game-list surfaces.
  • Existing title links and card layout remain unchanged except for the box art becoming clickable.
  • Hover/focus styling works in light and dark mode and follows existing Laravel/Tailwind patterns.
  • Internal links use named route generation where possible instead of hard-coded game URLs.

Test Coverage Required

  • Feature test confirming platform listing box art links to the expected game profile URL.
  • Regression test confirming the game title link still points to the same profile URL.
  • Regression test confirming missing box art renders the existing fallback state without a broken image link.
  • Tests for search results, newly added games, favorites, wishlists, and most popular games when those surfaces are implemented.
  • Accessibility-oriented assertions that linked box art includes useful alt text and does not create duplicate or empty link text.
  • Regression tests confirming disabled or soft-deleted games are excluded from public linked game-list surfaces.
  • Run the focused affected tests, then run vendor/bin/pint --dirty before closing the issue.

Progress Checklist

  • Public game profile route exists
  • Platform listing pages use canonical game profile URLs
  • Reusable public game card/list-item component exists
  • Game titles already link to game profile pages in the reusable game card
  • Most Popular Games sidebar card exists as a placeholder
  • Link reusable game-card box art to the game profile URL
  • Preserve no-box-art fallback behavior without broken links
  • Confirm platform listing box art is clickable through the reusable component
  • Apply the same reusable card/link pattern to search results when rebuilt
  • Apply the same reusable card/link pattern to newly added games when rebuilt
  • Apply the same reusable card/link pattern to favorites when rebuilt
  • Apply the same reusable card/link pattern to wishlists when rebuilt
  • Apply the same reusable card/link pattern to Most Popular Games when rebuilt
  • Add tests for linked box art, fallback rendering, canonical URLs, and excluded unavailable games
  • Confirm linked box art behavior is consistent across public game-list surfaces
Game box art should link to the matching game profile anywhere public game lists or sidebar cards show a game image. The current Laravel checkout already has public game profile routes at `/game/{gameId}/{gameName?}` and platform listing pages use a reusable `<x-site.game-card>` component with title links, box art URLs, ratings, comments, and favorite-count placeholders. However, the reusable game card currently renders box art as a plain image, and several original target surfaces such as search results, newly added games, favorites, wishlists, and most popular games are still incomplete or placeholders. This issue tracks making box art consistently clickable as those public game-list surfaces are rebuilt. ## Scope - Reusable public game card/list-item presentation. - Platform game listing pages. - Most Popular Games sidebar card when implemented. - Search result listings when rebuilt. - Newly Added Games listing when rebuilt. - Public and private Favorites listings when rebuilt. - Public and private Wishlist listings when rebuilt. - Accessible image-link behavior for games with and without box art. ## Acceptance Criteria - Box art in reusable public game cards links to the same canonical game profile URL as the game title. - Platform listing box art links to `/game/{id}/{slug}` for each active game. - Future search, newly added, favorites, wishlists, and most popular surfaces use the same clickable box art behavior. - Box art links preserve image alt text and remain accessible to keyboard and screen-reader users. - Games without box art do not produce broken image links or confusing empty anchors. - Missing, disabled, or soft-deleted games are not linked from public game-list surfaces. - Existing title links and card layout remain unchanged except for the box art becoming clickable. - Hover/focus styling works in light and dark mode and follows existing Laravel/Tailwind patterns. - Internal links use named route generation where possible instead of hard-coded game URLs. ## Test Coverage Required - Feature test confirming platform listing box art links to the expected game profile URL. - Regression test confirming the game title link still points to the same profile URL. - Regression test confirming missing box art renders the existing fallback state without a broken image link. - Tests for search results, newly added games, favorites, wishlists, and most popular games when those surfaces are implemented. - Accessibility-oriented assertions that linked box art includes useful alt text and does not create duplicate or empty link text. - Regression tests confirming disabled or soft-deleted games are excluded from public linked game-list surfaces. - Run the focused affected tests, then run `vendor/bin/pint --dirty` before closing the issue. ## Progress Checklist - [x] Public game profile route exists - [x] Platform listing pages use canonical game profile URLs - [x] Reusable public game card/list-item component exists - [x] Game titles already link to game profile pages in the reusable game card - [x] Most Popular Games sidebar card exists as a placeholder - [ ] Link reusable game-card box art to the game profile URL - [ ] Preserve no-box-art fallback behavior without broken links - [ ] Confirm platform listing box art is clickable through the reusable component - [ ] Apply the same reusable card/link pattern to search results when rebuilt - [ ] Apply the same reusable card/link pattern to newly added games when rebuilt - [ ] Apply the same reusable card/link pattern to favorites when rebuilt - [ ] Apply the same reusable card/link pattern to wishlists when rebuilt - [ ] Apply the same reusable card/link pattern to Most Popular Games when rebuilt - [ ] Add tests for linked box art, fallback rendering, canonical URLs, and excluded unavailable games - [ ] Confirm linked box art behavior is consistent across public game-list surfaces
Codex changed title from Link Box Art to Game Profiles on Certain Pages to Link game box art to game profile pages 2026-05-25 23:56:44 -05:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MyVideoGameList/myvideogamelist.com#4
No description provided.