diff --git a/dashboard-ui/components/servertestermessage.js b/dashboard-ui/components/servertestermessage.js index a10661c371..5da2d9cded 100644 --- a/dashboard-ui/components/servertestermessage.js +++ b/dashboard-ui/components/servertestermessage.js @@ -132,7 +132,7 @@ var key = 'servertestermessagetime'; var lastShown = parseInt(appSettings.get(key) || '0'); - if ((new Date().getTime() - lastShown) < 86400000) { + if ((new Date().getTime() - lastShown) < 259200000) { return; } diff --git a/dashboard-ui/scripts/medialibrarypage.js b/dashboard-ui/scripts/medialibrarypage.js index 016aeccc91..2d0575b752 100644 --- a/dashboard-ui/scripts/medialibrarypage.js +++ b/dashboard-ui/scripts/medialibrarypage.js @@ -103,6 +103,12 @@ ironIcon: 'videocam' }); + menuItems.push({ + name: Globalize.translate('ButtonEditImages'), + id: 'editimages', + ironIcon: 'photo' + }); + menuItems.push({ name: Globalize.translate('ButtonManageFolders'), id: 'edit', @@ -136,6 +142,9 @@ case 'edit': editVirtualFolder(page, virtualFolder); break; + case 'editimages': + editImages(page, virtualFolder); + break; case 'rename': renameVirtualFolder(page, virtualFolder); break; @@ -206,21 +215,26 @@ return; } - require(['components/imageeditor/imageeditor'], function (ImageEditor) { - - ImageEditor.show(virtualFolder.ItemId, { - theme: 'a' - }).then(function (hasChanged) { - if (hasChanged) { - reloadLibrary(page); - } - }); - }); + editVirtualFolder(page, virtualFolder); }); Dashboard.hideLoadingMsg(); } + function editImages(page, virtualFolder) { + + require(['components/imageeditor/imageeditor'], function (ImageEditor) { + + ImageEditor.show(virtualFolder.ItemId, { + theme: 'a' + }).then(function (hasChanged) { + if (hasChanged) { + reloadLibrary(page); + } + }); + }); + } + function getCollectionTypeOptions() { return [ diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index c6ef7c3d55..bafb00ec5a 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -661,18 +661,28 @@ function fadeInUp(elem) { var keyframes = [ { transform: 'translate3d(0, 100%, 0)', offset: 0 }, - { transform: 'none', offset: 1 }]; + { transform: 'translate3d(0, 0, 0)', offset: 1 }]; var timing = { duration: 300, iterations: 1 }; - elem.animate(keyframes, timing); + + if (elem.animate) { + elem.animate(keyframes, timing); + } } function fadeOutDown(elem) { - var keyframes = [{ transform: 'none', offset: 0 }, + var keyframes = [{ transform: 'translate3d(0, 0, 0)', offset: 0 }, { transform: 'translate3d(0, 100%, 0)', offset: 1 }]; var timing = { duration: 300, iterations: 1 }; - elem.animate(keyframes, timing).onfinish = function () { + + var onFinish = function () { elem.classList.add('hide'); }; + + if (elem.animate) { + elem.animate(keyframes, timing).onfinish = onFinish; + } else { + onFinish(); + } } function ensureVideoPlayerElements() { diff --git a/dashboard-ui/scripts/sections.js b/dashboard-ui/scripts/sections.js index 3ab22b61f1..c0045a8c15 100644 --- a/dashboard-ui/scripts/sections.js +++ b/dashboard-ui/scripts/sections.js @@ -1,4 +1,4 @@ -define(['libraryBrowser', 'jQuery', 'scrollStyles'], function (LibraryBrowser, $) { +define(['libraryBrowser', 'jQuery', 'appSettings', 'scrollStyles'], function (LibraryBrowser, $, appSettings) { function getUserViews(userId) { @@ -163,9 +163,54 @@ html += getLibraryButtonsHtml(items); html += ''; - elem.innerHTML = html; + return getAppInfo().then(function (infoHtml) { - handleLibraryLinkNavigations(elem); + elem.innerHTML = html + infoHtml; + + handleLibraryLinkNavigations(elem); + }); + }); + } + + function getAppInfo() { + + if (AppInfo.nativeApp) { + return Promise.resolve(''); + } + + var cacheKey = 'lastappinfopresent5'; + if ((new Date().getTime() - parseInt(appSettings.get(cacheKey) || '0')) < 172800000) { + return Promise.resolve(''); + } + + function getCard(img) { + + return '
'; + } + + return Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) { + + appSettings.set(cacheKey, new Date().getTime()); + + if (pluginSecurityInfo.IsMBSupporter) { + return ''; + } + + var html = ''; + html += '
'; + html += '

Try Emby Theater

'; + html += '

A beautiful app for your TV and large screen tablet. Emby Theater runs on Windows, Xbox One, Google Chrome, FireFox, Microsoft Edge and Opera.

'; + html += '
'; + html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater1.png'); + html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater2.png'); + html += getCard('https://raw.githubusercontent.com/MediaBrowser/Emby.Resources/master/apps/theater3.png'); + html += '
'; + html += '
'; + html += '
'; + + appSettings.set(cacheKey, new Date().getTime()); + + return html; }); } @@ -395,12 +440,15 @@ html += ''; } - elem.innerHTML = html; - ImageLoader.lazyChildren(elem); + return getAppInfo().then(function (infoHtml) { - LibraryBrowser.createCardMenus(elem, { showDetailsMenu: false }); + elem.innerHTML = html + infoHtml; + ImageLoader.lazyChildren(elem); - handleLibraryLinkNavigations(elem); + LibraryBrowser.createCardMenus(elem, { showDetailsMenu: false }); + + handleLibraryLinkNavigations(elem); + }); }); } diff --git a/packages.config b/packages.config index eecb6bec2b..a2d13fdf5f 100644 --- a/packages.config +++ b/packages.config @@ -1,7 +1,6 @@  - \ No newline at end of file