Performance: - Batched ownership: new db.library_ids_for_tmdb() resolves a whole rail in one query per kind. _stamp_owned (now also used by search + trending) groups by kind, so a full Discover page drops from ~500 connections to a couple per rail. Function/data: - 'See all' on every rail opens it as a paged grid (Load more); the filter bar's Browse routes through the same generic category grid with a back button + title. - Personalized 'Because you like <Genre>' rails seeded from your most-owned genres (new db.top_owned_genres + /discover/taste endpoint). - 'Hide owned' toggle drops in-library titles from every rail/grid (CSS class, instant). Visual vibes: - Ambient page-top color bleed that follows the current hero slide's hue. - Rail edge-fade mask, gentle fade-in on load, per-title hue glow on card hover. Tests: +4 (batched id map, server scoping, one-query-per-kind stamp, top genres). Full video enrichment + database suites: 145 passed. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| personalized_schema.py | ||
| video_database.py | ||
| video_schema.sql | ||