mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2026-09-03 03:50:02 +03:00
Merge pull request #8181 from Shadowghost/fix-nextup-episode
Fix episode image handling in recently added
This commit is contained in:
@@ -1087,7 +1087,7 @@ function renderMoreFromSeason(view, item, apiClient) {
|
||||
cardBuilder.buildCards(result.Items, {
|
||||
parentContainer: section,
|
||||
itemsContainer: itemsContainer,
|
||||
shape: 'autooverflow',
|
||||
shape: 'overflowBackdrop',
|
||||
sectionTitleTagName: 'h2',
|
||||
scalable: true,
|
||||
showTitle: true,
|
||||
|
||||
@@ -35,6 +35,8 @@ export function getCardImageUrl({
|
||||
let imgType: ImageType | undefined;
|
||||
let itemId = null;
|
||||
|
||||
const skipEpisodeParentPoster = item.Type === 'Episode' && uiAspect != null && uiAspect > 1;
|
||||
|
||||
/* eslint-disable sonarjs/no-duplicated-branches */
|
||||
if (options.preferThumb && item.ImageTags?.Thumb) {
|
||||
imgType = ImageType.Thumb;
|
||||
@@ -68,6 +70,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;
|
||||
@@ -80,7 +92,7 @@ export function getCardImageUrl({
|
||||
if (primaryImageAspectRatio && uiAspect) {
|
||||
coverImage = (Math.abs(primaryImageAspectRatio - uiAspect) / uiAspect) <= 0.2;
|
||||
}
|
||||
} else if (item.SeriesPrimaryImageTag) {
|
||||
} else if (item.SeriesPrimaryImageTag && !skipEpisodeParentPoster) {
|
||||
imgType = ImageType.Primary;
|
||||
imgTag = item.SeriesPrimaryImageTag;
|
||||
itemId = item.SeriesId;
|
||||
@@ -97,7 +109,7 @@ export function getCardImageUrl({
|
||||
if (primaryImageAspectRatio && uiAspect) {
|
||||
coverImage = (Math.abs(primaryImageAspectRatio - uiAspect) / uiAspect) <= 0.2;
|
||||
}
|
||||
} else if (item.ParentPrimaryImageTag) {
|
||||
} else if (item.ParentPrimaryImageTag && !skipEpisodeParentPoster) {
|
||||
imgType = ImageType.Primary;
|
||||
imgTag = item.ParentPrimaryImageTag;
|
||||
itemId = item.ParentPrimaryImageItemId;
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -28,6 +28,7 @@ export interface CardOptions {
|
||||
preferThumb?: boolean | string | null;
|
||||
preferDisc?: boolean;
|
||||
preferLogo?: boolean;
|
||||
preferParentPoster?: boolean;
|
||||
scalable?: boolean;
|
||||
shape?: CardShape;
|
||||
defaultShape?: CardShape;
|
||||
|
||||
Reference in New Issue
Block a user