Skip to content

feat: Trackt recommendations added#776

Open
AbhishekVankar wants to merge 1 commit intoNuvioMedia:mainfrom
AbhishekVankar:feature/trakt-recommendations
Open

feat: Trackt recommendations added#776
AbhishekVankar wants to merge 1 commit intoNuvioMedia:mainfrom
AbhishekVankar:feature/trakt-recommendations

Conversation

@AbhishekVankar
Copy link
Copy Markdown

@AbhishekVankar AbhishekVankar commented Apr 17, 2026

Summary

Adds personalized Trakt recommendation rows to the Home screen for authenticated users, with per-catalog toggles in settings and a working "View All" page.

PR type

  • Approved larger change

Why

Trakt is already integrated for watch history and ratings. This surfaces personalized recommendations directly on the home screen with no extra user action required beyond logging in.

Changes

Area What changed
traktService Added getRecommendations() — calls /recommendations/{type}?extended=full
useTraktRecommendations New hook — fetches movie + show rows, reads MMKV toggles, reacts to refreshCatalogs()
HomeScreen Injects Trakt rows at the top of the catalog feed when authenticated
CatalogSettingsScreen New "Trakt / Recommendations" section with per-type on/off toggles (shown only when logged in)
CatalogScreen Fixed crash (Addon trakt not found) when tapping "View All" — added dedicated Trakt code path with correct client-side pagination

Testing

  • Trakt rows appear / disappear on login and logout
  • Individual toggles show/hide each row immediately
  • "View All" opens without crash
  • Scrolling past 50 items loads from buffer — no extra API call
  • Unauthenticated: no Trakt rows, no errors
  • iOS tested
  • Android tested

Breaking changes

None

Snapshots

Catalog Setting
Screenshot_2026-04-17-10-54-38-677_com nuvio app

Homescreen
Screenshot_2026-04-17-10-54-07-864_com nuvio app

View all recommended movies
Screenshot_2026-04-17-10-54-12-939_com nuvio app

View all recommended tv shows
Screenshot_2026-04-17-10-54-21-008_com nuvio app

Note to maintainers

I am a contributor who built this feature to solve a real problem I personally ran into as a user of this app.
I have done my best to follow the existing code patterns, but I may have missed some project-specific conventions.
If anything does not meet the contribution standards, I would genuinely appreciate guidance or a helping hand rather than a straight close — I am happy to revise and learn.
Thank you for your time reviewing this. 🙏

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.

1 participant