diff --git a/src/components/cardbuilder/utils/url.ts b/src/components/cardbuilder/utils/url.ts index 54874b3a4c..d0ea4f93df 100644 --- a/src/components/cardbuilder/utils/url.ts +++ b/src/components/cardbuilder/utils/url.ts @@ -68,6 +68,16 @@ export function getCardImageUrl({ imgType = ImageType.Backdrop; imgTag = item.ParentBackdropImageTags[0]; itemId = item.ParentBackdropItemId; + } else if (options.preferParentPoster && !options.preferThumb && item.Type === 'Episode' + && ((item.ParentPrimaryImageTag && item.ParentPrimaryImageItemId) || (item.SeriesPrimaryImageTag && item.SeriesId))) { + imgType = ImageType.Primary; + if (item.ParentPrimaryImageTag && item.ParentPrimaryImageItemId) { + imgTag = item.ParentPrimaryImageTag; + itemId = item.ParentPrimaryImageItemId; + } else { + imgTag = item.SeriesPrimaryImageTag; + itemId = item.SeriesId; + } } else if (item.ImageTags?.Primary && (item.Type !== 'Episode' || item.ChildCount !== 0)) { imgType = ImageType.Primary; imgTag = item.ImageTags.Primary; diff --git a/src/components/homesections/sections/recentlyAdded.ts b/src/components/homesections/sections/recentlyAdded.ts index 91297f5866..3edd57549d 100644 --- a/src/components/homesections/sections/recentlyAdded.ts +++ b/src/components/homesections/sections/recentlyAdded.ts @@ -83,6 +83,7 @@ function getLatestItemsHtmlFn( items: items, shape: shape, preferThumb: viewType !== 'movies' && viewType !== 'tvshows' && itemType !== 'Channel' && viewType !== 'music' ? 'auto' : null, + preferParentPoster: true, showUnplayedIndicator: false, showChildCountIndicator: true, context: 'home', diff --git a/src/types/cardOptions.ts b/src/types/cardOptions.ts index 5040b3daef..78f22143fc 100644 --- a/src/types/cardOptions.ts +++ b/src/types/cardOptions.ts @@ -28,6 +28,7 @@ export interface CardOptions { preferThumb?: boolean | string | null; preferDisc?: boolean; preferLogo?: boolean; + preferParentPoster?: boolean; scalable?: boolean; shape?: CardShape; defaultShape?: CardShape;