From bbf926e75291b45234985d08abf86659ddabe732 Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Thu, 22 Aug 2024 13:11:59 +0200 Subject: [PATCH 1/2] fix: limit next up items --- app/(auth)/(tabs)/home/index.tsx | 1 + components/series/NextUp.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/(auth)/(tabs)/home/index.tsx b/app/(auth)/(tabs)/home/index.tsx index 3520181e..b894a9d8 100644 --- a/app/(auth)/(tabs)/home/index.tsx +++ b/app/(auth)/(tabs)/home/index.tsx @@ -72,6 +72,7 @@ export default function index() { await getTvShowsApi(api).getNextUp({ userId: user?.Id, fields: ["MediaSourceCount"], + limit: 20, }) ).data.Items) || [], diff --git a/components/series/NextUp.tsx b/components/series/NextUp.tsx index 5f037e3d..e4ac462d 100644 --- a/components/series/NextUp.tsx +++ b/components/series/NextUp.tsx @@ -24,7 +24,7 @@ export const NextUp: React.FC<{ seriesId: string }> = ({ seriesId }) => { userId: user?.Id, seriesId, fields: ["MediaSourceCount"], - limit: 20, + limit: 10, }) ).data.Items; }, From 4cca6f0e8cf0637d8e1eab5521e76c7e74e7e2f3 Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Thu, 22 Aug 2024 13:27:22 +0200 Subject: [PATCH 2/2] fix: limit image sizes --- components/ContinueWatchingPoster.tsx | 4 ++-- components/home/LargeMovieCarousel.tsx | 6 ++++-- components/posters/MoviePoster.tsx | 1 + utils/jellyfin/image/getPrimaryImageUrl.ts | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/components/ContinueWatchingPoster.tsx b/components/ContinueWatchingPoster.tsx index ab5a8831..e057ee15 100644 --- a/components/ContinueWatchingPoster.tsx +++ b/components/ContinueWatchingPoster.tsx @@ -23,8 +23,8 @@ const ContinueWatchingPoster: React.FC = ({ getPrimaryImageUrl({ api, item, - quality: 90, - width: 176 * 2, + quality: 80, + width: 300, }), [item] ); diff --git a/components/home/LargeMovieCarousel.tsx b/components/home/LargeMovieCarousel.tsx index 81654e48..63a64d9c 100644 --- a/components/home/LargeMovieCarousel.tsx +++ b/components/home/LargeMovieCarousel.tsx @@ -123,14 +123,16 @@ export const LargeMovieCarousel: React.FC = ({ ...props }) => { const RenderItem: React.FC<{ item: BaseItemDto }> = ({ item }) => { const [api] = useAtom(apiAtom); + const screenWidth = Dimensions.get("screen").width; + const uri = useMemo(() => { if (!api) return null; return getBackdropUrl({ api, item, - quality: 90, - width: 1000, + quality: 70, + width: Math.floor(screenWidth * 0.8 * 2), }); }, [api, item]); diff --git a/components/posters/MoviePoster.tsx b/components/posters/MoviePoster.tsx index c8e39b88..f1495ac6 100644 --- a/components/posters/MoviePoster.tsx +++ b/components/posters/MoviePoster.tsx @@ -23,6 +23,7 @@ const MoviePoster: React.FC = ({ getPrimaryImageUrl({ api, item, + width: 300, }), [item] ); diff --git a/utils/jellyfin/image/getPrimaryImageUrl.ts b/utils/jellyfin/image/getPrimaryImageUrl.ts index 99d5be26..cd354308 100644 --- a/utils/jellyfin/image/getPrimaryImageUrl.ts +++ b/utils/jellyfin/image/getPrimaryImageUrl.ts @@ -15,8 +15,8 @@ import { isBaseItemDto } from "../jellyfin"; export const getPrimaryImageUrl = ({ api, item, - quality = 90, - width = 500, + quality = 80, + width = 400, }: { api?: Api | null; item?: BaseItemDto | BaseItemPerson | null;