From 71c15f36515bdd250ef1f798b2279660670fa31a Mon Sep 17 00:00:00 2001 From: sarendsen Date: Sat, 29 Mar 2025 14:47:38 +0100 Subject: [PATCH] feat: Implement latest for custom home --- components/settings/HomeIndex.tsx | 13 +++++++++++-- utils/atoms/settings.ts | 9 +++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/components/settings/HomeIndex.tsx b/components/settings/HomeIndex.tsx index 71325ccb..498fd87c 100644 --- a/components/settings/HomeIndex.tsx +++ b/components/settings/HomeIndex.tsx @@ -359,10 +359,19 @@ export const HomeIndex = () => { fields: ["MediaSourceCount"], limit: section.items?.limit || 25, enableImageTypes: ["Primary", "Backdrop", "Thumb"], - enableResumable: section.items?.enableResumable || false, - enableRewatching: section.items?.enableRewatching || false, + enableResumable: section.items?.enableResumable, + enableRewatching: section.items?.enableRewatching, }); return response.data.Items || []; + } else if (section.latest) { + const response = await getUserLibraryApi(api).getLatestMedia({ + userId: user?.Id, + includeItemTypes: section.latest?.includeItemTypes, + limit: section.latest?.limit || 25, + isPlayed: section.latest?.isPlayed, + groupItems: section.latest?.groupItems, + }); + return response.data || []; } return []; }, diff --git a/utils/atoms/settings.ts b/utils/atoms/settings.ts index f4350bed..6b69c608 100644 --- a/utils/atoms/settings.ts +++ b/utils/atoms/settings.ts @@ -93,6 +93,7 @@ export type HomeSection = { orientation?: "horizontal" | "vertical"; items?: HomeSectionItemResolver; nextUp?: HomeSectionNextUpResolver; + latest?: HomeSectionLatestResolver; }; export type HomeSectionItemResolver = { @@ -113,6 +114,14 @@ export type HomeSectionNextUpResolver = { enableRewatching?: boolean; }; +export type HomeSectionLatestResolver = { + parentId?: string; + limit?: number; + groupItems?: boolean; + isPlayed?: boolean; + includeItemTypes?: Array; +}; + export enum VideoPlayer { // NATIVE, //todo: changes will make this a lot more easier to implement if we want. delete if not wanted VLC_3 = 0,