mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-16 18:38:25 -07:00
Adapt to changes in server-side blurhash, reduce copypasta a bit
This commit is contained in:
parent
7587469480
commit
2bf7a53dc2
@ -503,107 +503,40 @@ import 'programStyles';
|
|||||||
const primaryImageAspectRatio = item.PrimaryImageAspectRatio;
|
const primaryImageAspectRatio = item.PrimaryImageAspectRatio;
|
||||||
let forceName = false;
|
let forceName = false;
|
||||||
let imgUrl = null;
|
let imgUrl = null;
|
||||||
|
let imgTag = null;
|
||||||
let coverImage = false;
|
let coverImage = false;
|
||||||
let uiAspect = null;
|
let uiAspect = null;
|
||||||
let blurhash;
|
let blurhash;
|
||||||
let blurhashimg = item.ImageBlurHashes;
|
let imgType;
|
||||||
let imgtag;
|
|
||||||
|
|
||||||
if (options.preferThumb && item.ImageTags && item.ImageTags.Thumb) {
|
if (options.preferThumb && item.ImageTags && item.ImageTags.Thumb) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Thumb
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Thumb;
|
|
||||||
|
|
||||||
} else if ((options.preferBanner || shape === 'banner') && item.ImageTags && item.ImageTags.Banner) {
|
} else if ((options.preferBanner || shape === 'banner') && item.ImageTags && item.ImageTags.Banner) {
|
||||||
|
imgType = 'Banner';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Banner',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Banner
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Banner;
|
|
||||||
|
|
||||||
} else if (options.preferDisc && item.ImageTags && item.ImageTags.Disc) {
|
} else if (options.preferDisc && item.ImageTags && item.ImageTags.Disc) {
|
||||||
|
imgType = 'Disc';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Disc',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Disc
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Disc;
|
|
||||||
|
|
||||||
} else if (options.preferLogo && item.ImageTags && item.ImageTags.Logo) {
|
} else if (options.preferLogo && item.ImageTags && item.ImageTags.Logo) {
|
||||||
|
imgType = 'Logo';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Logo',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Logo
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Logo;
|
|
||||||
|
|
||||||
} else if (options.preferLogo && item.ParentLogoImageTag && item.ParentLogoItemId) {
|
} else if (options.preferLogo && item.ParentLogoImageTag && item.ParentLogoItemId) {
|
||||||
|
imgType = 'Logo';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentLogoItemId, {
|
imgTag = item.ParentLogoImageTag;
|
||||||
type: 'Logo',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentLogoImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.ParentLogoImageTag;
|
|
||||||
|
|
||||||
} else if (options.preferThumb && item.SeriesThumbImageTag && options.inheritThumb !== false) {
|
} else if (options.preferThumb && item.SeriesThumbImageTag && options.inheritThumb !== false) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.SeriesId, {
|
imgTag = item.SeriesThumbImageTag;
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.SeriesThumbImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.SeriesThumbImageTag;
|
|
||||||
|
|
||||||
} else if (options.preferThumb && item.ParentThumbItemId && options.inheritThumb !== false && item.MediaType !== 'Photo') {
|
} else if (options.preferThumb && item.ParentThumbItemId && options.inheritThumb !== false && item.MediaType !== 'Photo') {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentThumbItemId, {
|
imgTag = item.ParentThumbImageTag;
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentThumbImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.ParentThumbImageTag;
|
|
||||||
|
|
||||||
} else if (options.preferThumb && item.BackdropImageTags && item.BackdropImageTags.length) {
|
} else if (options.preferThumb && item.BackdropImageTags && item.BackdropImageTags.length) {
|
||||||
|
imgType = 'Backdrop';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
imgTag = item.BackdropImageTags[0];
|
||||||
type: 'Backdrop',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.BackdropImageTags[0]
|
|
||||||
});
|
|
||||||
imgtag = item.BackdropImageTags[0];
|
|
||||||
|
|
||||||
forceName = true;
|
forceName = true;
|
||||||
|
|
||||||
} else if (options.preferThumb && item.ParentBackdropImageTags && item.ParentBackdropImageTags.length && options.inheritThumb !== false && item.Type === 'Episode') {
|
} else if (options.preferThumb && item.ParentBackdropImageTags && item.ParentBackdropImageTags.length && options.inheritThumb !== false && item.Type === 'Episode') {
|
||||||
|
imgType = 'Backdrop';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentBackdropItemId, {
|
imgTag = item.ParentBackdropImageTags[0];
|
||||||
type: 'Backdrop',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentBackdropImageTags[0]
|
|
||||||
});
|
|
||||||
imgtag = item.ParentBackdropImageTags[0];
|
|
||||||
|
|
||||||
} else if (item.ImageTags && item.ImageTags.Primary) {
|
} else if (item.ImageTags && item.ImageTags.Primary) {
|
||||||
|
imgType = 'Primary';
|
||||||
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
||||||
|
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Primary',
|
|
||||||
maxHeight: height,
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Primary
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Primary;
|
|
||||||
|
|
||||||
if (options.preferThumb && options.showTitle !== false) {
|
if (options.preferThumb && options.showTitle !== false) {
|
||||||
forceName = true;
|
forceName = true;
|
||||||
}
|
}
|
||||||
@ -616,17 +549,10 @@ import 'programStyles';
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else if (item.PrimaryImageTag) {
|
} else if (item.PrimaryImageTag) {
|
||||||
|
imgType = 'Primary';
|
||||||
|
imgTag = item.PrimaryImageTag;
|
||||||
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
||||||
|
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.PrimaryImageItemId || item.Id || item.ItemId, {
|
|
||||||
type: 'Primary',
|
|
||||||
maxHeight: height,
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.PrimaryImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.PrimaryImageTag;
|
|
||||||
|
|
||||||
if (options.preferThumb && options.showTitle !== false) {
|
if (options.preferThumb && options.showTitle !== false) {
|
||||||
forceName = true;
|
forceName = true;
|
||||||
}
|
}
|
||||||
@ -638,33 +564,16 @@ import 'programStyles';
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (item.ParentPrimaryImageTag) {
|
} else if (item.ParentPrimaryImageTag) {
|
||||||
|
imgType = 'Primary';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentPrimaryImageItemId, {
|
imgTag = item.ParentPrimaryImageTag;
|
||||||
type: 'Primary',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentPrimaryImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.ParentPrimaryImageTag;
|
|
||||||
} else if (item.SeriesPrimaryImageTag) {
|
} else if (item.SeriesPrimaryImageTag) {
|
||||||
|
imgType = 'Primary';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.SeriesId, {
|
imgTag = item.SeriesPrimaryImageTag;
|
||||||
type: 'Primary',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.SeriesPrimaryImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.SeriesPrimaryImageTag;
|
|
||||||
} else if (item.AlbumId && item.AlbumPrimaryImageTag) {
|
} else if (item.AlbumId && item.AlbumPrimaryImageTag) {
|
||||||
|
imgType = 'Primary';
|
||||||
|
imgTag = item.AlbumPrimaryImageTag;
|
||||||
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null;
|
||||||
|
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.AlbumId, {
|
|
||||||
type: 'Primary',
|
|
||||||
maxHeight: height,
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.AlbumPrimaryImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.AlbumPrimaryImageTag;
|
|
||||||
|
|
||||||
if (primaryImageAspectRatio) {
|
if (primaryImageAspectRatio) {
|
||||||
uiAspect = getDesiredAspect(shape);
|
uiAspect = getDesiredAspect(shape);
|
||||||
if (uiAspect) {
|
if (uiAspect) {
|
||||||
@ -672,62 +581,30 @@ import 'programStyles';
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (item.Type === 'Season' && item.ImageTags && item.ImageTags.Thumb) {
|
} else if (item.Type === 'Season' && item.ImageTags && item.ImageTags.Thumb) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Thumb
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Thumb;
|
|
||||||
|
|
||||||
} else if (item.BackdropImageTags && item.BackdropImageTags.length) {
|
} else if (item.BackdropImageTags && item.BackdropImageTags.length) {
|
||||||
|
imgType = 'Backdrop';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
imgTag = item.BackdropImageTags[0];
|
||||||
type: 'Backdrop',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.BackdropImageTags[0]
|
|
||||||
});
|
|
||||||
imgtag = item.BackdropImageTags[0];
|
|
||||||
|
|
||||||
} else if (item.ImageTags && item.ImageTags.Thumb) {
|
} else if (item.ImageTags && item.ImageTags.Thumb) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ImageTags.Thumb
|
|
||||||
});
|
|
||||||
imgtag = item.ImageTags.Thumb;
|
|
||||||
|
|
||||||
} else if (item.SeriesThumbImageTag && options.inheritThumb !== false) {
|
} else if (item.SeriesThumbImageTag && options.inheritThumb !== false) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.SeriesId, {
|
imgTag = item.SeriesThumbImageTag;
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.SeriesThumbImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.SeriesThumbImageTag;
|
|
||||||
|
|
||||||
} else if (item.ParentThumbItemId && options.inheritThumb !== false) {
|
} else if (item.ParentThumbItemId && options.inheritThumb !== false) {
|
||||||
|
imgType = 'Thumb';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentThumbItemId, {
|
imgTag = item.ParentThumbImageTag;
|
||||||
type: 'Thumb',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentThumbImageTag
|
|
||||||
});
|
|
||||||
imgtag = item.ParentThumbImageTag;
|
|
||||||
|
|
||||||
} else if (item.ParentBackdropImageTags && item.ParentBackdropImageTags.length && options.inheritThumb !== false) {
|
} else if (item.ParentBackdropImageTags && item.ParentBackdropImageTags.length && options.inheritThumb !== false) {
|
||||||
|
imgType = 'Backdrop';
|
||||||
imgUrl = apiClient.getScaledImageUrl(item.ParentBackdropItemId, {
|
imgTag = item.ParentBackdropImageTags[0];
|
||||||
type: 'Backdrop',
|
|
||||||
maxWidth: width,
|
|
||||||
tag: item.ParentBackdropImageTags[0]
|
|
||||||
});
|
|
||||||
imgtag = item.ParentBackdropImageTags[0];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
blurhash = imageLoader.getImageBlurhashStr(blurhashimg, imgtag);
|
imgUrl = apiClient.getScaledImageUrl(item.Id, {
|
||||||
|
type: imgType,
|
||||||
|
maxHeight: height,
|
||||||
|
maxWidth: width,
|
||||||
|
tag: tag || item.ImageTags[imgType]
|
||||||
|
});
|
||||||
|
blurhash = (item.ImageBlurHashes || {})[imgType];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
imgUrl: imgUrl,
|
imgUrl: imgUrl,
|
||||||
|
@ -12,13 +12,6 @@ import 'css!./style';
|
|||||||
fillImageElement(elem, source);
|
fillImageElement(elem, source);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getImageBlurhashStr(hashes, tags) {
|
|
||||||
if (hashes && tags) {
|
|
||||||
return hashes[tags];
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// function destroyBlurhash(target) {
|
// function destroyBlurhash(target) {
|
||||||
// let canvas = target.getElementsByClassName('blurhash-canvas')[0];
|
// let canvas = target.getElementsByClassName('blurhash-canvas')[0];
|
||||||
// target.removeChild(canvas);
|
// target.removeChild(canvas);
|
||||||
@ -223,7 +216,6 @@ import 'css!./style';
|
|||||||
export default {
|
export default {
|
||||||
fillImages: fillImages,
|
fillImages: fillImages,
|
||||||
fillImage: fillImage,
|
fillImage: fillImage,
|
||||||
getImageBlurhashStr: getImageBlurhashStr,
|
|
||||||
lazyImage: lazyImage,
|
lazyImage: lazyImage,
|
||||||
lazyChildren: lazyChildren,
|
lazyChildren: lazyChildren,
|
||||||
getPrimaryImageAspectRatio: getPrimaryImageAspectRatio
|
getPrimaryImageAspectRatio: getPrimaryImageAspectRatio
|
||||||
|
Loading…
Reference in New Issue
Block a user