pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

lint

Pas c6a4b04c fbd5cfc9

+26 -15
+17 -13
src/pages/discover/hooks/useDiscoverMedia.ts
··· 1 1 import { useCallback, useEffect, useState } from "react"; 2 2 import { useTranslation } from "react-i18next"; 3 3 4 - import { getMediaDetails, get } from "@/backend/metadata/tmdb"; 5 - import type { 6 - TMDBMovieData, 7 - TMDBMovieSearchResult, 8 - TMDBShowData, 9 - TMDBShowSearchResult, 10 - } from "@/backend/metadata/types/tmdb"; 11 - import { TMDBContentTypes } from "@/backend/metadata/types/tmdb"; 4 + import { get, getMediaDetails } from "@/backend/metadata/tmdb"; 12 5 import { 13 6 PROVIDER_TO_TRAKT_MAP, 14 7 getAppleMovieReleases, ··· 30 23 getPrimeTVShows, 31 24 } from "@/backend/metadata/traktApi"; 32 25 import { paginateResults } from "@/backend/metadata/traktFunctions"; 26 + import { TMDBContentTypes } from "@/backend/metadata/types/tmdb"; 27 + import type { 28 + TMDBMovieData, 29 + TMDBMovieSearchResult, 30 + TMDBShowData, 31 + TMDBShowSearchResult, 32 + } from "@/backend/metadata/types/tmdb"; 33 33 import type { TraktListResponse } from "@/backend/metadata/types/trakt"; 34 - import { EDITOR_PICKS_MOVIES, 34 + import { 35 + EDITOR_PICKS_MOVIES, 35 36 EDITOR_PICKS_TV_SHOWS, 36 37 MOVIE_PROVIDERS, 37 38 TV_PROVIDERS, ··· 45 46 UseDiscoverMediaProps, 46 47 UseDiscoverMediaReturn, 47 48 } from "@/pages/discover/types/discover"; 48 - import { fetchFedSimilarItems } from "../lib/personalRecommendations"; 49 49 import { conf } from "@/setup/config"; 50 50 import { useLanguageStore } from "@/stores/language"; 51 51 import { getTmdbLanguageCode } from "@/utils/language"; 52 + 53 + import { fetchFedSimilarItems } from "../lib/personalRecommendations"; 52 54 53 55 // Re-export types for backward compatibility 54 56 export type { ··· 417 419 console.info( 418 420 "Fed-similar API returned insufficient or no results, falling back to TMDB", 419 421 ); 420 - const data = await fetchTMDBMedia(`/${mediaType}/${mediaId}/recommendations`); 422 + const data = await fetchTMDBMedia( 423 + `/${mediaType}/${mediaId}/recommendations`, 424 + ); 421 425 return data; 422 426 } catch (err) { 423 427 console.error("Error fetching fed-similar recommendations:", err); 424 428 425 429 // Try TMDB fallback on error 426 430 console.info("Attempting TMDB fallback..."); 427 - return await fetchTMDBMedia(`/${mediaType}/${mediaId}/recommendations`); 431 + return fetchTMDBMedia(`/${mediaType}/${mediaId}/recommendations`); 428 432 } 429 433 }, 430 - [mediaType, formattedLanguage, isCarouselView, fetchTMDBMedia], 434 + [mediaType, isCarouselView, fetchTMDBMedia], 431 435 ); 432 436 433 437 const fetchMedia = useCallback(async () => {
+9 -2
src/pages/discover/hooks/useSimilarMedia.ts
··· 8 8 TMDBShowData, 9 9 TMDBShowSearchResult, 10 10 } from "@/backend/metadata/types/tmdb"; 11 + 11 12 import { fetchFedSimilarItems } from "../lib/personalRecommendations"; 12 13 13 14 export function useSimilarMedia({ ··· 21 22 limit?: number; 22 23 enabled?: boolean; 23 24 }) { 24 - const [media, setMedia] = useState<TMDBMovieSearchResult[] | TMDBShowSearchResult[]>([]); 25 + const [media, setMedia] = useState< 26 + TMDBMovieSearchResult[] | TMDBShowSearchResult[] 27 + >([]); 25 28 const [isLoading, setIsLoading] = useState(false); 26 29 const [error, setError] = useState<string | null>(null); 27 30 ··· 100 103 101 104 if (results.length >= limit / 2) { 102 105 // If we have enough results from fed-similar, use them 103 - setMedia(results.slice(0, limit)); 106 + setMedia( 107 + results.slice(0, limit) as 108 + | TMDBMovieSearchResult[] 109 + | TMDBShowSearchResult[], 110 + ); 104 111 return; 105 112 } 106 113 }