Posters and ratings on both sides of search results #147

Closed
opened 2026-08-23 19:41:28 +01:00 by naps62-yolo · 0 comments
Owner

Depends on: #145

§9.2 groups in-library results above TMDB results. §9.6 wants both halves to
carry a poster thumbnail and a rating, and right now neither does: the TMDB half
reports poster_path but no rating, and the library half is pure SQL and
reports neither.

GET /api/search:

  • TMDB results gain vote_average and vote_count. Both are already in the
    search/movie and search/tv response bodies, so this is a widening of the
    RawSearchResult mapping in arr-meta, not a new upstream call. overview
    and poster_path are already carried.
  • Library results gain poster_path and vote_average, read from the
    columns #145 adds. Series rows too, not only movies. Still one query, still no
    TMDB call — that is the reason those columns exist.
  • Episode results carry the series poster, since an episode has no artwork
    of its own worth showing at row size.

GET /api/movies and GET /api/series gain the same two fields, for the
library grid in #151.

Update the hand-written mirrors in web/src/search.ts and web/src/library.ts
so tsc stays honest — the generated client is uncommitted and CI cannot see
it. This issue does not render anything; #148 and #151 do.

Do not start until blitz/tv-tracking is on main — it rewrites
arr-api/src/search.rs and the web/src/search.ts mirror, including the
series and episode result variants this extends.

Depends on: #145 §9.2 groups in-library results above TMDB results. §9.6 wants both halves to carry a poster thumbnail and a rating, and right now neither does: the TMDB half reports `poster_path` but no rating, and the library half is pure SQL and reports neither. `GET /api/search`: - **TMDB results** gain `vote_average` and `vote_count`. Both are already in the `search/movie` and `search/tv` response bodies, so this is a widening of the `RawSearchResult` mapping in `arr-meta`, not a new upstream call. `overview` and `poster_path` are already carried. - **Library results** gain `poster_path` and `vote_average`, read from the columns #145 adds. Series rows too, not only movies. Still one query, still no TMDB call — that is the reason those columns exist. - Episode results carry the **series** poster, since an episode has no artwork of its own worth showing at row size. `GET /api/movies` and `GET /api/series` gain the same two fields, for the library grid in #151. Update the hand-written mirrors in `web/src/search.ts` and `web/src/library.ts` so `tsc` stays honest — the generated client is uncommitted and CI cannot see it. This issue does not render anything; #148 and #151 do. **Do not start until `blitz/tv-tracking` is on main** — it rewrites `arr-api/src/search.rs` and the `web/src/search.ts` mirror, including the series and episode result variants this extends.
naps62-yolo added this to the Rich metadata milestone 2026-08-23 19:41:28 +01:00
naps62-yolo added the difficulty/easyarea/apiphase/6-tvtype/feature labels 2026-08-23 19:41:28 +01:00
naps62-yolo added a new dependency 2026-08-23 19:42:42 +01:00
naps62-yolo added a new dependency 2026-08-23 19:42:42 +01:00
naps62-yolo added phase/5-ui and removed phase/6-tv labels 2026-08-23 19:42:56 +01:00
naps62-yolo added a new dependency 2026-08-23 22:15:35 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#147