From 32ab5fc7c4007ce1fdb0e5c512401a60d1940df5 Mon Sep 17 00:00:00 2001 From: Justin Nemeth Date: Tue, 4 Aug 2026 15:58:25 -0700 Subject: [PATCH] refactor(media): use new translation language query param --- projects/client/package.json | 2 +- .../queries/episode/episodeIntlQuery.ts | 2 + .../requests/queries/movies/movieIntlQuery.ts | 2 + .../requests/queries/shows/showIntlQuery.ts | 2 + projects/client/src/mocks/handlers/movies.ts | 23 ++++------ projects/client/src/mocks/handlers/shows.ts | 42 +++++++------------ 6 files changed, 29 insertions(+), 44 deletions(-) diff --git a/projects/client/package.json b/projects/client/package.json index 8ac98d6b12..96c98255a9 100644 --- a/projects/client/package.json +++ b/projects/client/package.json @@ -81,7 +81,7 @@ "@tanstack/query-core": "5.101.4", "@tanstack/query-devtools": "5.101.4", "@tanstack/query-persist-client-core": "5.101.4", - "@trakt/api": "npm:@jsr/trakt__api@0.5.4", + "@trakt/api": "npm:@jsr/trakt__api@0.6.0", "@ts-rest/core": "3.52.1", "@use-gesture/vanilla": "10.3.1", "bits-ui": "2.18.1", diff --git a/projects/client/src/lib/requests/queries/episode/episodeIntlQuery.ts b/projects/client/src/lib/requests/queries/episode/episodeIntlQuery.ts index 8c2eec7ecc..76280051fb 100644 --- a/projects/client/src/lib/requests/queries/episode/episodeIntlQuery.ts +++ b/projects/client/src/lib/requests/queries/episode/episodeIntlQuery.ts @@ -40,6 +40,8 @@ const episodeIntlRequest = ( id: slug, season: castNumberAsString(season), episode, + }, + query: { language, }, }); diff --git a/projects/client/src/lib/requests/queries/movies/movieIntlQuery.ts b/projects/client/src/lib/requests/queries/movies/movieIntlQuery.ts index 1d35f8962b..d52264aa0b 100644 --- a/projects/client/src/lib/requests/queries/movies/movieIntlQuery.ts +++ b/projects/client/src/lib/requests/queries/movies/movieIntlQuery.ts @@ -20,6 +20,8 @@ const movieIntlRequest = ( .translations({ params: { id: slug, + }, + query: { language, }, }); diff --git a/projects/client/src/lib/requests/queries/shows/showIntlQuery.ts b/projects/client/src/lib/requests/queries/shows/showIntlQuery.ts index 8b863c3b99..cbaaf80c7f 100644 --- a/projects/client/src/lib/requests/queries/shows/showIntlQuery.ts +++ b/projects/client/src/lib/requests/queries/shows/showIntlQuery.ts @@ -20,6 +20,8 @@ const showIntlRequest = ( .translations({ params: { id: slug, + }, + query: { language, }, }); diff --git a/projects/client/src/mocks/handlers/movies.ts b/projects/client/src/mocks/handlers/movies.ts index b142d5c88b..0e271ea718 100644 --- a/projects/client/src/mocks/handlers/movies.ts +++ b/projects/client/src/mocks/handlers/movies.ts @@ -42,21 +42,14 @@ export const movies = [ }, ), http.get( - `http://localhost/movies/${MovieHereticResponseMock.ids.slug}/translations/en`, - () => { - return HttpResponse.json(MovieHereticTranslationsResponseMock.get('en')); - }, - ), - http.get( - `http://localhost/movies/${MovieHereticResponseMock.ids.slug}/translations/nl`, - () => { - return HttpResponse.json(MovieHereticTranslationsResponseMock.get('nl')); - }, - ), - http.get( - `http://localhost/movies/${MovieHereticResponseMock.ids.slug}/translations/pt`, - () => { - return HttpResponse.json(MovieHereticTranslationsResponseMock.get('pt')); + `http://localhost/movies/${MovieHereticResponseMock.ids.slug}/translations`, + ({ request }) => { + const { searchParams } = new URL(request.url); + return HttpResponse.json( + MovieHereticTranslationsResponseMock.get( + searchParams.get('language') ?? '', + ), + ); }, ), http.get( diff --git a/projects/client/src/mocks/handlers/shows.ts b/projects/client/src/mocks/handlers/shows.ts index ba331f593f..59568094cd 100644 --- a/projects/client/src/mocks/handlers/shows.ts +++ b/projects/client/src/mocks/handlers/shows.ts @@ -55,26 +55,13 @@ export const shows = [ }, ), http.get( - `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/translations/en`, - () => { - return HttpResponse.json( - ShowSiloTranslationsResponseMock.get('en'), - ); - }, - ), - http.get( - `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/translations/nl`, - () => { - return HttpResponse.json( - ShowSiloTranslationsResponseMock.get('nl'), - ); - }, - ), - http.get( - `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/translations/ja`, - () => { + `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/translations`, + ({ request }) => { + const { searchParams } = new URL(request.url); return HttpResponse.json( - ShowSiloTranslationsResponseMock.get('ja'), + ShowSiloTranslationsResponseMock.get( + searchParams.get('language') ?? '', + ), ); }, ), @@ -173,15 +160,14 @@ export const shows = [ }, ), http.get( - `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/seasons/${EpisodeSiloResponseMock.season}/episodes/${EpisodeSiloResponseMock.number}/translations/en`, - () => { - return HttpResponse.json(EpisodeSiloTranslationsResponseMock.get('en')); - }, - ), - http.get( - `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/seasons/${EpisodeSiloResponseMock.season}/episodes/${EpisodeSiloResponseMock.number}/translations/nl`, - () => { - return HttpResponse.json(EpisodeSiloTranslationsResponseMock.get('nl')); + `http://localhost/shows/${ShowSiloResponseMock.ids.slug}/seasons/${EpisodeSiloResponseMock.season}/episodes/${EpisodeSiloResponseMock.number}/translations`, + ({ request }) => { + const { searchParams } = new URL(request.url); + return HttpResponse.json( + EpisodeSiloTranslationsResponseMock.get( + searchParams.get('language') ?? '', + ), + ); }, ), http.get(