mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update images
This commit is contained in:
parent
793cf35f42
commit
fbc040dc9c
6 changed files with 42 additions and 32 deletions
|
@ -138,7 +138,7 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
|||
return true;
|
||||
}
|
||||
|
||||
function fillVibrantOnLoaded(img, url, vibrantElement, canvas, canvasContext) {
|
||||
function fillVibrantOnLoaded(img, url, vibrantElement) {
|
||||
|
||||
vibrantElement = document.getElementById(vibrantElement);
|
||||
if (!vibrantElement) {
|
||||
|
@ -148,7 +148,7 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
|||
requestIdleCallback(function () {
|
||||
|
||||
//var now = new Date().getTime();
|
||||
var swatch = getVibrantInfo(canvas || img, url, canvasContext).split('|');
|
||||
var swatch = getVibrantInfo(img, url).split('|');
|
||||
//console.log('vibrant took ' + (new Date().getTime() - now) + 'ms');
|
||||
if (swatch.length) {
|
||||
|
||||
|
@ -176,7 +176,7 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
|||
|
||||
url = url.split('?')[0];
|
||||
|
||||
var cacheKey = 'vibrant11';
|
||||
var cacheKey = 'vibrant21';
|
||||
return cacheKey + url;
|
||||
}
|
||||
|
||||
|
@ -185,14 +185,14 @@ define(['visibleinviewport', 'imageFetcher', 'layoutManager', 'events', 'browser
|
|||
return appSettings.get(getSettingsKey(url));
|
||||
}
|
||||
|
||||
function getVibrantInfo(img, url, canvasContext) {
|
||||
function getVibrantInfo(img, url) {
|
||||
|
||||
var value = getCachedVibrantInfo(url);
|
||||
if (value) {
|
||||
return value;
|
||||
}
|
||||
|
||||
var vibrant = new Vibrant(img, canvasContext);
|
||||
var vibrant = new Vibrant(img);
|
||||
var swatches = vibrant.swatches();
|
||||
|
||||
value = '';
|
||||
|
|
|
@ -622,7 +622,7 @@ module.exports = MMCQ.quantize
|
|||
this.swatches = bind(this.swatches, this);
|
||||
var a, allPixels, b, cmap, g, i, image, imageData, offset, pixelCount, pixels, r;
|
||||
if (typeof colorCount === 'undefined') {
|
||||
colorCount = 64;
|
||||
colorCount = 16;
|
||||
}
|
||||
if (typeof quality === 'undefined') {
|
||||
quality = 5;
|
||||
|
@ -837,21 +837,28 @@ module.exports = MMCQ.quantize
|
|||
*/
|
||||
|
||||
window.CanvasImage = CanvasImage = (function() {
|
||||
function CanvasImage(image, context) {
|
||||
function CanvasImage(image) {
|
||||
|
||||
if (context) {
|
||||
this.width = image.width;
|
||||
this.height = image.height;
|
||||
|
||||
this.context = context;
|
||||
} else {
|
||||
this.canvas = document.createElement('canvas');
|
||||
this.width = this.canvas.width = image.width;
|
||||
this.height = this.canvas.height = image.height;
|
||||
|
||||
this.context = this.canvas.getContext('2d');
|
||||
this.context.drawImage(image, 0, 0, this.width, this.height);
|
||||
|
||||
var originalWidth = image.width;
|
||||
var originalHeight = image.height;
|
||||
|
||||
var maxArea = 300 * 300;
|
||||
var bitmapArea = originalWidth * originalHeight;
|
||||
var scaleRatio = 1;
|
||||
if (bitmapArea > maxArea) {
|
||||
scaleRatio = maxArea / bitmapArea;
|
||||
}
|
||||
|
||||
//console.log(scaleRatio);
|
||||
|
||||
this.width = this.canvas.width = originalWidth * scaleRatio;
|
||||
this.height = this.canvas.height = originalHeight * scaleRatio;
|
||||
|
||||
this.context.drawImage(image, 0, 0, originalWidth, originalHeight, 0, 0, this.width, this.height);
|
||||
}
|
||||
|
||||
CanvasImage.prototype.getPixelCount = function() {
|
||||
|
|
|
@ -160,7 +160,7 @@ progress {
|
|||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 280px;
|
||||
left: 260px;
|
||||
}
|
||||
|
||||
.dashboardDocument .adminDrawerLogo {
|
||||
|
@ -339,7 +339,6 @@ a[data-role='button'], .type-interior button:not([data-role='none']):not(.clearB
|
|||
@media all and (min-width: 1200px) {
|
||||
|
||||
.mainDrawerPanel:not([narrow]) .content-primary {
|
||||
padding-right: 1.5em;
|
||||
padding-left: 2em;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
}
|
||||
|
||||
.homePageSection + .homePageSection {
|
||||
margin-top: 30px;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
.sectionHeaderButton {
|
||||
|
|
|
@ -103,12 +103,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
var lastFullRender = 0;
|
||||
function enableFullRender() {
|
||||
return (new Date().getTime() - lastFullRender) > 300000;
|
||||
}
|
||||
|
||||
function reload(page) {
|
||||
function reload(page, enableFullRender) {
|
||||
|
||||
renderActiveRecordings(page, ApiClient.getLiveTvRecordings({
|
||||
UserId: Dashboard.getCurrentUserId(),
|
||||
|
@ -118,7 +113,7 @@
|
|||
EnableImageTypes: "Primary,Thumb,Backdrop"
|
||||
}));
|
||||
|
||||
if (!enableFullRender()) {
|
||||
if (!enableFullRender) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -190,7 +185,6 @@
|
|||
|
||||
renderItems(page, result.Items, 'upcomingKidsItems');
|
||||
});
|
||||
lastFullRender = new Date().getTime();
|
||||
}
|
||||
|
||||
function renderItems(page, items, sectionClass, overlayButton, shape) {
|
||||
|
@ -227,6 +221,10 @@
|
|||
return function (view, params) {
|
||||
|
||||
var self = this;
|
||||
var lastFullRender = 0;
|
||||
function enableFullRender() {
|
||||
return (new Date().getTime() - lastFullRender) > 300000;
|
||||
}
|
||||
|
||||
self.initTab = function () {
|
||||
|
||||
|
@ -247,7 +245,13 @@
|
|||
|
||||
self.renderTab = function () {
|
||||
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
|
||||
|
||||
if (enableFullRender()) {
|
||||
reload(tabContent, true);
|
||||
lastFullRender = new Date().getTime();
|
||||
} else {
|
||||
reload(tabContent);
|
||||
}
|
||||
};
|
||||
|
||||
var tabControllers = [];
|
||||
|
|
|
@ -569,7 +569,7 @@
|
|||
lazy: true,
|
||||
overlayPlayButton: true,
|
||||
context: 'home',
|
||||
centerText: true,
|
||||
centerText: !supportsImageAnalysis,
|
||||
allowBottomPadding: !enableScrollX(),
|
||||
cardLayout: supportsImageAnalysis,
|
||||
vibrant: supportsImageAnalysis
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue