diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index c2e9c21b8..38dc11ec2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,14 +14,14 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.142", - "_release": "1.4.142", + "version": "1.4.143", + "_release": "1.4.143", "_resolution": { "type": "version", - "tag": "1.4.142", - "commit": "12659f33236f3a8daf282132ca715d2bbf449bfe" + "tag": "1.4.143", + "commit": "a5cb5b5e596af6e78cfe3cca056722ca6cffdb9d" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", - "_target": "^1.2.0", + "_target": "^1.2.1", "_originalSource": "emby-webcomponents" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css index 083e727d7..c93043a1a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.css @@ -3,7 +3,6 @@ justify-content: center; padding: 0; border: none; - box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); max-height: 84%; } @@ -11,7 +10,7 @@ max-height: none; } -.actionSheet.centered .actionSheetContent { +.actionSheetContent-centered { text-align: center; align-items: center; } @@ -27,7 +26,7 @@ text-align: center; } -button.actionSheetMenuItem { +.actionSheetMenuItem { padding: 0 1.6em; margin: 0; text-transform: none; @@ -68,23 +67,17 @@ button.actionSheetMenuItem { width: auto; } -h1.actionSheetTitle { +.actionSheetTitle { margin: .5em 0 1em !important; padding: 0 1em; flex-grow: 0; } -h2.actionSheetTitle { - margin: .25em 0 .55em !important; - padding: 0 1em; - flex-grow: 0; -} - .actionSheetText { padding: 0 1em; flex-grow: 0; } -.actionSheet.extraSpacing { +.actionsheet-extraSpacing { font-size: 108%; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js index 32389bf17..32d997b84 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js +++ b/dashboard-ui/bower_components/emby-webcomponents/actionsheet/actionsheet.js @@ -107,13 +107,42 @@ var dlg = dialogHelper.createDialog(dialogOptions); if (!layoutManager.tv) { - dlg.classList.add('extraSpacing'); + dlg.classList.add('actionsheet-extraSpacing'); } dlg.classList.add('actionSheet'); var html = ''; - html += '
'; + + var scrollType = layoutManager.desktop ? 'smoothScrollY' : 'hiddenScrollY'; + var style = (browser.noFlex || browser.firefox) ? 'max-height:400px;' : ''; + + // Admittedly a hack but right now the scrollbar is being factored into the width which is causing truncation + if (options.items.length > 20) { + var minWidth = window.innerWidth >= 300 ? 240 : 200; + style += "min-width:" + minWidth + "px;"; + } + + var i, length, option; + var renderIcon = false; + for (i = 0, length = options.items.length; i < length; i++) { + + option = options.items[i]; + option.icon = option.selected ? 'check' : null; + + if (option.icon) { + renderIcon = true; + } + } + + // If any items have an icon, give them all an icon just to make sure they're all lined up evenly + var center = options.title && (!renderIcon /*|| itemsWithIcons.length != options.items.length*/); + + if (center) { + html += '
'; + } else { + html += '
'; + } if (options.title) { @@ -133,35 +162,8 @@ html += '

'; } - var scrollType = layoutManager.desktop ? 'smoothScrollY' : 'hiddenScrollY'; - var style = (browser.noFlex || browser.firefox) ? 'max-height:400px;' : ''; - - // Admittedly a hack but right now the scrollbar is being factored into the width which is causing truncation - if (options.items.length > 20) { - var minWidth = window.innerWidth >= 300 ? 240 : 200; - style += "min-width:" + minWidth + "px;"; - } html += '
'; - var i, length, option; - var renderIcon = false; - for (i = 0, length = options.items.length; i < length; i++) { - - option = options.items[i]; - option.icon = option.selected ? 'check' : null; - - if (option.icon) { - renderIcon = true; - } - } - - // If any items have an icon, give them all an icon just to make sure they're all lined up evenly - var center = options.title && (!renderIcon /*|| itemsWithIcons.length != options.items.length*/); - - if (center) { - dlg.classList.add('centered'); - } - var itemTagName = 'button'; for (i = 0, length = options.items.length; i < length; i++) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 715a93a02..0a7a343ac 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -307,6 +307,15 @@ define(['browser'], function (browser) { VideoCodec: 'h264', AudioCodec: videoAudioCodecs.join(',') }); + + if (isEdgeUniversal()) { + profile.DirectPlayProfiles.push({ + Container: 'mkv', + Type: 'Video', + VideoCodec: 'vc1', + AudioCodec: videoAudioCodecs.join(',') + }); + } } // These are formats we can't test for but some devices will support diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css index 754d3779d..0476f6009 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/card.css @@ -83,6 +83,13 @@ button.card { will-change: transform; } +@media all and (min-width: 600px) { + + .layout-desktop .card .cardBox, .layout-mobile .card .cardBox { + margin: 3px; + } +} + button.cardContent { display: block; } @@ -177,10 +184,16 @@ button.cardContent { justify-content: center; position: relative; background-clip: content-box !important; + border-radius: 2px; +} + +.visualCardBox .cardImageContainer { + border-radius: 0; } .chapterCardImageContainer { background-color: #000; + border-radius: 0; } button.cardImageContainer { @@ -262,12 +275,16 @@ button.cardImageContainer { max-width: 100%; } +.innerCardFooterClear { + background-color: transparent; +} + .fullInnerCardFooter { right: 0; } .cardText { - padding: .35em .35em; + padding: .35em .5em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index e06140031..cf13cc994 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -150,14 +150,16 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo options.rows = options.rows[options.shape]; } - if (options.shape == 'backdrop') { - options.width = options.width || 500; - } - else if (options.shape == 'portrait') { - options.width = options.width || 243; - } - else if (options.shape == 'square') { - options.width = options.width || 243; + if (layoutManager.tv) { + if (options.shape == 'backdrop') { + options.width = options.width || 500; + } + else if (options.shape == 'portrait') { + options.width = options.width || 243; + } + else if (options.shape == 'square') { + options.width = options.width || 243; + } } options.width = options.width || getImageWidth(options.shape); @@ -498,7 +500,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null; - imgUrl = apiClient.getImageUrl(item.Id, { + imgUrl = apiClient.getScaledImageUrl(item.Id, { type: "Primary", maxHeight: height, maxWidth: width, @@ -520,7 +522,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo height = width && primaryImageAspectRatio ? Math.round(width / primaryImageAspectRatio) : null; - imgUrl = apiClient.getImageUrl(item.Id || item.ItemId, { + imgUrl = apiClient.getScaledImageUrl(item.Id || item.ItemId, { type: "Primary", maxHeight: height, maxWidth: width, @@ -540,7 +542,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } else if (item.ParentPrimaryImageTag) { - imgUrl = apiClient.getImageUrl(item.ParentPrimaryImageItemId, { + imgUrl = apiClient.getScaledImageUrl(item.ParentPrimaryImageItemId, { type: "Primary", maxWidth: width, tag: item.ParentPrimaryImageTag @@ -1078,9 +1080,14 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var forceName = imgInfo.forceName; var showTitle = options.showTitle == 'auto' ? true : (options.showTitle || item.Type == 'PhotoAlbum' || item.Type == 'Folder'); + var overlayText = options.overlayText; if (forceName && !options.cardLayout) { - showTitle = false; + showTitle = imgUrl; + + if (overlayText == null) { + overlayText = true; + } } if (!imgUrl) { @@ -1095,14 +1102,14 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var footerOverlayed = false; - if (options.overlayText) { + if (overlayText) { footerCssClass = progressHtml ? 'innerCardFooter fullInnerCardFooter' : 'innerCardFooter'; innerCardFooter += getCardFooterText(item, options, showTitle, imgUrl, footerCssClass, progressHtml, false); footerOverlayed = true; } else if (progressHtml) { - innerCardFooter += '
'; + innerCardFooter += '
'; innerCardFooter += progressHtml; innerCardFooter += '
'; @@ -1115,7 +1122,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } var outerCardFooter = ''; - if (!options.overlayText && !footerOverlayed) { + if (!overlayText && !footerOverlayed) { footerCssClass = options.cardLayout ? 'cardFooter' : 'cardFooter transparent'; outerCardFooter = getCardFooterText(item, options, showTitle, imgUrl, footerCssClass, progressHtml, true); } diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.css b/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.css new file mode 100644 index 000000000..442fdda8c --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.css @@ -0,0 +1,26 @@ + +.dialogButtons { + position: relative; + padding: 0 !important; + margin: 1em; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex-direction: row; + -webkit-flex-direction: row; + flex-direction: row; + -ms-flex-pack: end; + -webkit-justify-content: flex-end; + justify-content: flex-end; +} + +.dialogButton { + color: #52B54B; + padding: 0.35em 1em; + margin: 0; +} + + .dialogButton:focus { + color: #fff; + background-color: #52B54B; + } diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js b/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js index 5621167f0..c8bc64ff3 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js +++ b/dashboard-ui/bower_components/emby-webcomponents/dialog/dialog.js @@ -1,4 +1,4 @@ -define(['layoutManager', 'globalize'], function (layoutManager, globalize) { +define(['layoutManager', 'globalize', 'css!./dialog'], function (layoutManager, globalize) { function showTvDialog(options) { return new Promise(function (resolve, reject) { @@ -48,14 +48,14 @@ define(['layoutManager', 'globalize'], function (layoutManager, globalize) { html += '
' + text + '
'; } - html += '
'; + html += '
'; var i, length; for (i = 0, length = options.buttons.length; i < length; i++) { var item = options.buttons[i]; var autoFocus = i == 0 ? ' autofocus' : ''; - html += ''; + html += ''; } html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css index 5da7ccfd8..34bee248e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.css @@ -12,36 +12,36 @@ contain: style; } - .dialog.fixedSize { - position: fixed !important; - top: 0 !important; - bottom: 0 !important; - left: 0 !important; - right: 0 !important; - margin: 0 !important; - border-radius: 0 !important; - max-height: none !important; - max-width: none !important; - width: auto; - } +.dialog-fixedSize { + position: fixed !important; + top: 0 !important; + bottom: 0 !important; + left: 0 !important; + right: 0 !important; + margin: 0 !important; + border-radius: 0 !important; + max-height: none !important; + max-width: none !important; + width: auto; +} - .dialog.centeredDialog { - top: 50%; - left: 50%; - max-width: 70%; - max-height: 84%; - } +.centeredDialog { + top: 50%; + left: 50%; + max-width: 70%; + max-height: 84%; +} @media all and (min-width: 1280px) and (min-height: 720px) { - .dialog.medium { + .dialog-medium { top: 10% !important; bottom: 10% !important; left: 10% !important; right: 10% !important; } - .dialog.small { + .dialog-small { top: 10% !important; bottom: 10% !important; left: 20% !important; @@ -51,7 +51,7 @@ @media all and (min-width: 1280px) and (min-height: 720px) { - .dialog.fullscreen-border { + .dialog-fullscreen-border { top: 5% !important; bottom: 5% !important; left: 5% !important; @@ -68,32 +68,6 @@ padding: 0 24px; } -.dialog .buttons { - position: relative; - padding: 0; - margin: 1em; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -ms-flex-direction: row; - -webkit-flex-direction: row; - flex-direction: row; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} - - .dialog .buttons button { - color: #52B54B; - padding: 0.35em 1em; - margin: 0; - } - - .dialog .buttons button:focus { - color: #fff; - background-color: #52B54B; - } - .dialogBackdrop { background-color: #000; opacity: 0; @@ -107,20 +81,6 @@ transition: opacity ease-out 0.2s; } - .dialogBackdrop.opened { - opacity: .6; - } - -.dialog::backdrop { - opacity: 0; - background-color: #000; - transition: opacity ease-out 0.2s; -} - -.mouseIdle .dialog::backdrop { - cursor: none !important; -} - -.dialog.opened::backdrop { +.dialogBackdropOpened { opacity: .6; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js index a3a869f42..972403c6f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js +++ b/dashboard-ui/bower_components/emby-webcomponents/dialoghelper/dialoghelper.js @@ -98,7 +98,7 @@ dlg.addEventListener('close', onDialogClosed); - var center = !dlg.classList.contains('fixedSize'); + var center = !dlg.classList.contains('dialog-fixedSize'); if (center) { dlg.classList.add('centeredDialog'); } @@ -184,7 +184,7 @@ // Doing this immediately causes the opacity to jump immediately without animating setTimeout(function () { - backdrop.classList.add('opened'); + backdrop.classList.add('dialogBackdropOpened'); }, 0); backdrop.addEventListener('click', function () { @@ -363,7 +363,7 @@ if (backdrop) { dlg.backdrop = null; - backdrop.classList.remove('opened'); + backdrop.classList.remove('dialogBackdropOpened'); setTimeout(function () { backdrop.parentNode.removeChild(backdrop); @@ -382,16 +382,10 @@ options = options || {}; - var dlg = document.createElement('dialog'); - // If there's no native dialog support, use a plain div // Also not working well in samsung tizen browser, content inside not clickable - if (!dlg.showModal || browser.tv) { - dlg = document.createElement('div'); - } else { - // Just go ahead and always use a plain div because we're seeing issues overlaying absoltutely positioned content over a modal dialog - dlg = document.createElement('div'); - } + // Just go ahead and always use a plain div because we're seeing issues overlaying absoltutely positioned content over a modal dialog + var dlg = document.createElement('div'); dlg.classList.add('focuscontainer'); dlg.classList.add('hide'); @@ -474,8 +468,8 @@ } if (options.size) { - dlg.classList.add('fixedSize'); - dlg.classList.add(options.size); + dlg.classList.add('dialog-fixedSize'); + dlg.classList.add('dialog-' + options.size); } return dlg; diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css index df7a9eb07..4229aef71 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-button/emby-button.css @@ -47,7 +47,7 @@ align-items: center; justify-content: center; text-align: center; - color: #fff !important; + color: #fff; margin: 0; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.css b/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.css index 5ee155ccd..bb7f91431 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.css +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.css @@ -20,15 +20,11 @@ text-align: left; } - .emby-collapsible-button.noflex h3 { - display: inline-block; - } - .emby-collapse-expandIcon { transform-origin: 50% 50%; transition: transform 180ms ease-out; } - .emby-collapse-expandIcon.expanded { - transform: rotate(180deg); - } +.emby-collapse-expandIconExpanded { + transform: rotate(180deg); +} diff --git a/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.js b/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.js index f9683cdf4..973acc23e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.js +++ b/dashboard-ui/bower_components/emby-webcomponents/emby-collapse/emby-collapse.js @@ -23,7 +23,7 @@ var icon = button.querySelector('i'); //icon.innerHTML = 'expand_less'; - icon.classList.add('expanded'); + icon.classList.add('emby-collapse-expandIconExpanded'); } function slideUpToHide(button, elem) { @@ -44,7 +44,7 @@ var icon = button.querySelector('i'); //icon.innerHTML = 'expand_more'; - icon.classList.remove('expanded'); + icon.classList.remove('emby-collapse-expandIconExpanded'); } function onButtonClick(e) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css index c66fbfba5..ea14f991b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css +++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css @@ -48,7 +48,7 @@ height: 28px; } - .playedIndicator i { + .playedIndicatorIcon { width: 22px; height: 22px; font-size: 22px; @@ -63,8 +63,8 @@ font-size: 80%; } -.layout-tv .playedIndicator i { +.layout-tv .playedIndicatorIcon { width: 2.6vh; height: 2.6vh; font-size: 2.6vh; -} +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js index d763d2280..c95b0e1c0 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js +++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js @@ -61,7 +61,7 @@ define(['css!./indicators.css', 'material-icons'], function () { } if (userData.PlayedPercentage && userData.PlayedPercentage >= 100 || (userData.Played)) { - return '
'; + return '
'; } } diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.css b/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.css index cae70cf2b..dc2af7fa7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.css +++ b/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.css @@ -14,19 +14,8 @@ padding: .5em; color: #fff; text-align: left; - } - .cardOverlayInner button:last-child { - margin-right: 0 !important; - } - - .cardOverlayInner p { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - .cardOverlayMediaInfo { display: flex; align-items: center; @@ -41,16 +30,16 @@ flex-wrap: wrap; } - .cardOverlayButtons .fab { - background-color: #282828; - margin-right: .25em; - } +.cardOverlayFab { + background-color: #282828 !important; + margin-right: .25em !important; +} - .cardOverlayButtons .fab i.md-icon { - width: auto !important; - height: auto !important; - font-size: 20px !important; - } +.cardOverlayFab-md-icon { + width: auto !important; + height: auto !important; + font-size: 30px !important; +} @media all and (max-width: 1200px) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js b/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js index 499587b2a..e14af3bea 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemhovermenu/itemhovermenu.js @@ -127,22 +127,24 @@ if (playbackManager.canPlay(item)) { - html += ''; + html += ''; buttonCount++; } if (item.LocalTrailerCount) { - html += ''; + html += ''; buttonCount++; } var moreIcon = appHost.moreIcon == 'dots-horiz' ? '' : ''; - html += ''; + html += ''; buttonCount++; html += userdataButtons.getIconsHtml({ item: item, - style: 'fab-mini' + style: 'fab-mini', + cssClass: 'cardOverlayFab', + iconCssClass: 'cardOverlayFab-md-icon' }); html += '
'; diff --git a/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.css b/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.css index 8af19e904..83d74cd49 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.css +++ b/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.css @@ -1,14 +1,15 @@ .mdl-spinner { - display: inline-block; position: relative; width: 28px; height: 28px; + display: none; } - .mdl-spinner.is-active { - -webkit-animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; - animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; - } +.mdlSpinnerActive { + display: inline-block; + -webkit-animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; + animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; +} @-webkit-keyframes mdl-spinner__container-rotate { to { @@ -35,11 +36,7 @@ border-color: rgb(66,165,245); } -.mdl-spinner--single-color .mdl-spinner__layer-1 { - border-color: rgb(63,81,181); -} - -.mdl-spinner.is-active .mdl-spinner__layer-1 { +.mdlSpinnerActive .mdl-spinner__layer-1 { -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @@ -48,11 +45,7 @@ border-color: rgb(244,67,54); } -.mdl-spinner--single-color .mdl-spinner__layer-2 { - border-color: rgb(63,81,181); -} - -.mdl-spinner.is-active .mdl-spinner__layer-2 { +.mdlSpinnerActive .mdl-spinner__layer-2 { -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @@ -61,11 +54,7 @@ border-color: rgb(253,216,53); } -.mdl-spinner--single-color .mdl-spinner__layer-3 { - border-color: rgb(63,81,181); -} - -.mdl-spinner.is-active .mdl-spinner__layer-3 { +.mdlSpinnerActive .mdl-spinner__layer-3 { -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @@ -74,11 +63,7 @@ border-color: rgb(76,175,80); } -.mdl-spinner--single-color .mdl-spinner__layer-4 { - border-color: rgb(63,81,181); -} - -.mdl-spinner.is-active .mdl-spinner__layer-4 { +.mdlSpinnerActive .mdl-spinner__layer-4 { -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @@ -360,30 +345,6 @@ } } -/** -* Patch the gap that appear between the two adjacent -* div.mdl-spinner__circle-clipper while the spinner is rotating -* (appears on Chrome 38, Safari 7.1, and IE 11). -* -* Update: the gap no longer appears on Chrome when .mdl-spinner__layer-N's -* opacity is 0.99, but still does on Safari and IE. -*/ -.mdl-spinner__gap-patch { - position: absolute; - box-sizing: border-box; - top: 0; - left: 45%; - width: 10%; - height: 100%; - overflow: hidden; - border-color: inherit; -} - - .mdl-spinner__gap-patch .mdl-spinner__circle { - width: 1000%; - left: -450%; - } - .mdl-spinner__circle-clipper { display: inline-block; position: relative; @@ -414,25 +375,25 @@ left: 0; } -.mdl-spinner__left .mdl-spinner__circle { +.mdl-spinner__circleLeft { border-right-color: transparent !important; -webkit-transform: rotate(129deg); transform: rotate(129deg); } -.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle { +.mdlSpinnerActive .mdl-spinner__circleLeft { -webkit-animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } -.mdl-spinner__right .mdl-spinner__circle { +.mdl-spinner__circleRight { left: -100%; border-left-color: transparent !important; -webkit-transform: rotate(-129deg); transform: rotate(-129deg); } -.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle { +.mdlSpinnerActive .mdl-spinner__circleRight { -webkit-animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @@ -516,7 +477,3 @@ z-index: 9999999; contain: layout style; } - -.loadingHide { - display: none !important; -} diff --git a/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.js b/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.js index d16706241..a9c0e737b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.js +++ b/dashboard-ui/bower_components/emby-webcomponents/loading/loading-lite.js @@ -13,23 +13,20 @@ define(['css!./loading-lite'], function () { elem.classList.add('docspinner'); elem.classList.add('mdl-spinner'); - elem.classList.add('mdl-js-spinner'); - elem.innerHTML = '
'; + elem.innerHTML = '
'; document.body.appendChild(elem); } - elem.classList.add('is-active'); - elem.classList.remove('loadingHide'); + elem.classList.add('mdlSpinnerActive'); }, hide: function () { var elem = loadingElem; if (elem) { - elem.classList.remove('is-active'); - elem.classList.add('loadingHide'); + elem.classList.remove('mdlSpinnerActive'); } } }; diff --git a/dashboard-ui/bower_components/emby-webcomponents/loading/loading.css b/dashboard-ui/bower_components/emby-webcomponents/loading/loading.css deleted file mode 100644 index 84e3f23f4..000000000 --- a/dashboard-ui/bower_components/emby-webcomponents/loading/loading.css +++ /dev/null @@ -1,14 +0,0 @@ -.docspinner { - margin-top: -5vh; - margin-left: -5vh; - width: 10vh; - height: 10vh; - position: fixed; - top: 50%; - left: 50%; - z-index: 9999999; -} - -.loadingHide { - display: none !important; -} diff --git a/dashboard-ui/bower_components/emby-webcomponents/loading/loading.js b/dashboard-ui/bower_components/emby-webcomponents/loading/loading.js deleted file mode 100644 index c900612b2..000000000 --- a/dashboard-ui/bower_components/emby-webcomponents/loading/loading.js +++ /dev/null @@ -1,28 +0,0 @@ -define(['paper-spinner', 'css!./loading'], function () { - - return { - show: function () { - var elem = document.querySelector('.docspinner'); - - if (!elem) { - - elem = document.createElement("paper-spinner"); - elem.classList.add('docspinner'); - - document.body.appendChild(elem); - } - - elem.active = true; - elem.classList.remove('loadingHide'); - }, - hide: function () { - var elem = document.querySelector('.docspinner'); - - if (elem) { - - elem.active = false; - elem.classList.add('loadingHide'); - } - } - }; -}); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css index dc1c4cdf8..6a90065bc 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css +++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.css @@ -2,7 +2,7 @@ margin: 0 1em 0 0; } -i.mediaInfoItem { +.mediaInfoIconItem { width: auto; height: auto; font-size: 1.6em; @@ -22,14 +22,14 @@ i.mediaInfoItem { padding-bottom: 0; } - .starRatingContainer i { - color: #CB272A; - width: auto !important; - height: auto !important; - font-size: 1.4em; - } +.starIcon { + color: #CB272A; + width: auto !important; + height: auto !important; + font-size: 1.4em; +} -.mediaInfoItem.criticRating { +.mediaInfoCriticRating { padding-left: 1.5em; background-position: left center; background-repeat: no-repeat; @@ -39,15 +39,15 @@ i.mediaInfoItem { align-items: center; } -.mediaInfoItem.criticRatingFresh { +.mediaInfoCriticRatingFresh { background-image: url(fresh.png); } -.mediaInfoItem.criticRatingRotten { +.mediaInfoCriticRatingRotten { background-image: url(rotten.png); } -.mediaInfoItem.timerIcon { +.mediaInfoTimerIcon { color: #CB272A; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js index 449da26ff..436a8161e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js +++ b/dashboard-ui/bower_components/emby-webcomponents/mediainfo/mediainfo.js @@ -42,12 +42,12 @@ define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainf if (item.SeriesTimerId) { miscInfo.push({ - html: '' + html: '' }); } else if (item.TimerId) { miscInfo.push({ - html: '' + html: '' }); } @@ -248,15 +248,15 @@ define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainf html += getStarIconsHtml(item); if (item.HasSubtitles && options.subtitles !== false) { - html += ''; + html += ''; } if (item.CriticRating && options.criticRating !== false) { if (item.CriticRating >= 60) { - html += '
' + item.CriticRating + '
'; + html += '
' + item.CriticRating + '
'; } else { - html += '
' + item.CriticRating + '
'; + html += '
' + item.CriticRating + '
'; } } @@ -325,7 +325,7 @@ define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainf if (rating) { html += '
'; - html += ''; + html += ''; html += rating; html += '
'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/prompt/prompt.js b/dashboard-ui/bower_components/emby-webcomponents/prompt/prompt.js index 968bbeca3..b192cd884 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/prompt/prompt.js +++ b/dashboard-ui/bower_components/emby-webcomponents/prompt/prompt.js @@ -4,7 +4,7 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'material-icons', 'css!./s var tabIndex = canFocus ? '' : ' tabindex="-1"'; autoFocus = autoFocus ? ' autofocus' : ''; - return ''; + return ''; } return function (options) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/prompt/style.css b/dashboard-ui/bower_components/emby-webcomponents/prompt/style.css index e57da95db..edc53e0b2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/prompt/style.css +++ b/dashboard-ui/bower_components/emby-webcomponents/prompt/style.css @@ -11,26 +11,26 @@ margin: 0 !important; } -.promptDialog.fullscreen .promptDialogContent { +.promptDialog-fullscreen .promptDialogContent { padding: 0; width: 50%; } -.promptDialog.fullscreen .btnSubmit { +.promptDialog-fullscreen .btnSubmit { display: flex; width: 100%; align-items: center; justify-content: center; } -.promptDialog.fullscreen .btnPromptExit { +.promptDialog-fullscreen .btnPromptExit { z-index: 1002; position: absolute; top: .5em; left: .5em; } - .promptDialog.fullscreen .btnPromptExit i { + .promptDialog-fullscreen .promptExitIcon { width: 4.4vh; height: 4.4vh; font-size: 4.4vh; diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.css b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.css index 986a41151..81e137b19 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.css +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.css @@ -1,4 +1,4 @@ -.recordingDialog .btnSubmit .md-icon { +.recordingDialogSubmitIcon { color: #cc3333; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.template.html b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.template.html index b010d4f11..dd27e33d6 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingcreator.template.html @@ -108,7 +108,7 @@
diff --git a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html index a9e4ac3e9..e131bf5f1 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/recordingcreator/recordingeditor.template.html @@ -33,7 +33,7 @@

diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.css b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.css index 72eed4374..15ba578d5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.css +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.css @@ -1,3 +1,3 @@ -.subtitleEditorDialog .originalFileLabel { +.originalSubtitleFileLabel { margin-right: 1em; -} \ No newline at end of file +} diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js index bee2ac042..52017d669 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js @@ -422,7 +422,7 @@ dlg.innerHTML = globalize.translateDocument(template, 'sharedcomponents'); document.body.appendChild(dlg); - dlg.querySelector('.originalFileLabel').innerHTML = globalize.translate('sharedcomponents#File'); + dlg.querySelector('.originalSubtitleFileLabel').innerHTML = globalize.translate('sharedcomponents#File'); dlg.querySelector('.subtitleSearchForm').addEventListener('submit', onSearchSubmit); diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html index ab92929af..7472cb925 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.template.html @@ -8,7 +8,7 @@

${SearchForSubtitles}

-

+

diff --git a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css index 0989cb425..9de7b7036 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css +++ b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.css @@ -20,7 +20,7 @@ transform: translateY(200px); } - .toast.visible { - -webkit-transform: none; - transform: none; - } +.toastVisible { + -webkit-transform: none; + transform: none; +} diff --git a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js index 23d2afc75..9e5e6fe40 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js +++ b/dashboard-ui/bower_components/emby-webcomponents/toast/toast.js @@ -11,7 +11,7 @@ define(['css!./toast'], function () { setTimeout(function () { - elem.classList.remove('visible'); + elem.classList.remove('toastVisible'); remove(elem); }, 3300); @@ -32,7 +32,7 @@ define(['css!./toast'], function () { document.body.appendChild(elem); setTimeout(function () { - elem.classList.add('visible'); + elem.classList.add('toastVisible'); animateRemove(elem); diff --git a/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.css b/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.css index f0abdff81..2c4f13bab 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.css +++ b/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.css @@ -1,8 +1,7 @@ - .btnUserData { color: #aaa; } -.btnUserDataOn, .btnUserDataOn i { +.btnUserDataOn { color: #cc3333 !important; } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.js b/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.js index ce293dff0..f8fe0bbc5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.js +++ b/dashboard-ui/bower_components/emby-webcomponents/userdatabuttons/userdatabuttons.js @@ -1,21 +1,29 @@ define(['connectionManager', 'globalize', 'paper-icon-button-light', 'material-icons', 'emby-button', 'css!./userdatabuttons'], function (connectionManager, globalize) { - function getUserDataButtonHtml(method, itemId, iconCssClass, icon, tooltip, style) { + function getUserDataButtonHtml(method, itemId, buttonCssClass, iconCssClass, icon, tooltip, style) { if (style == 'fab-mini') { style = 'fab'; - iconCssClass = iconCssClass ? (iconCssClass + ' mini') : 'mini'; + buttonCssClass = buttonCssClass ? (buttonCssClass + ' mini') : 'mini'; } var is = style == 'fab' ? 'emby-button' : 'paper-icon-button-light'; var className = style == 'fab' ? 'autoSize fab' : 'autoSize'; - if (iconCssClass) { - className += ' ' + iconCssClass; + if (buttonCssClass) { + className += ' ' + buttonCssClass; } + if (iconCssClass) { + iconCssClass += ' '; + } else { + iconCssClass = ''; + } + + iconCssClass += 'md-icon'; + return ''; } @@ -45,15 +53,17 @@ define(['connectionManager', 'globalize', 'paper-icon-button-light', 'material-i btnCssClass += " " + cssClass; } + var iconCssClass = options.iconCssClass; + if (includePlayed !== false) { var tooltipPlayed = globalize.translate('sharedcomponents#MarkPlayed'); if (item.MediaType == 'Video' || item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.Type == 'Playlist') { if (item.Type != 'TvChannel') { if (userData.Played) { - html += getUserDataButtonHtml('markPlayed', itemId, btnCssClass + ' btnUserDataOn', 'check', tooltipPlayed, style); + html += getUserDataButtonHtml('markPlayed', itemId, btnCssClass + ' btnUserDataOn', iconCssClass, 'check', tooltipPlayed, style); } else { - html += getUserDataButtonHtml('markPlayed', itemId, btnCssClass, 'check', tooltipPlayed, style); + html += getUserDataButtonHtml('markPlayed', itemId, btnCssClass, iconCssClass, 'check', tooltipPlayed, style); } } } @@ -78,9 +88,9 @@ define(['connectionManager', 'globalize', 'paper-icon-button-light', 'material-i var tooltipFavorite = globalize.translate('sharedcomponents#Favorite'); if (userData.IsFavorite) { - html += getUserDataButtonHtml('markFavorite', itemId, btnCssClass + ' btnUserData btnUserDataOn', 'favorite', tooltipFavorite, style); + html += getUserDataButtonHtml('markFavorite', itemId, btnCssClass + ' btnUserData btnUserDataOn', iconCssClass, 'favorite', tooltipFavorite, style); } else { - html += getUserDataButtonHtml('markFavorite', itemId, btnCssClass + ' btnUserData', 'favorite', tooltipFavorite, style); + html += getUserDataButtonHtml('markFavorite', itemId, btnCssClass + ' btnUserData', iconCssClass, 'favorite', tooltipFavorite, style); } return html; diff --git a/dashboard-ui/bower_components/iron-behaviors/.bower.json b/dashboard-ui/bower_components/iron-behaviors/.bower.json index dac19e56b..c7dc4d6af 100644 --- a/dashboard-ui/bower_components/iron-behaviors/.bower.json +++ b/dashboard-ui/bower_components/iron-behaviors/.bower.json @@ -29,14 +29,14 @@ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, "ignore": [], - "homepage": "https://github.com/PolymerElements/iron-behaviors", + "homepage": "https://github.com/polymerelements/iron-behaviors", "_release": "1.0.17", "_resolution": { "type": "version", "tag": "v1.0.17", "commit": "ef8e89b5f0aa4e8a6b51ca6491ea453bf395f94f" }, - "_source": "git://github.com/PolymerElements/iron-behaviors.git", + "_source": "git://github.com/polymerelements/iron-behaviors.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-behaviors" + "_originalSource": "polymerelements/iron-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/polymer/polymer.html b/dashboard-ui/bower_components/polymer/polymer.html index b540058c8..8a6f32761 100644 --- a/dashboard-ui/bower_components/polymer/polymer.html +++ b/dashboard-ui/bower_components/polymer/polymer.html @@ -775,7 +775,7 @@ prevent = dy > dx; prevent = dx > dy; } if (prevent) { -//ev.preventDefault(); +ev.preventDefault(); } else { Gestures.prevent('track'); } diff --git a/dashboard-ui/components/favoriteitems.js b/dashboard-ui/components/favoriteitems.js index 3bb7da501..965c07f4c 100644 --- a/dashboard-ui/components/favoriteitems.js +++ b/dashboard-ui/components/favoriteitems.js @@ -38,7 +38,7 @@ SortOrder: "Ascending", Filters: "IsFavorite", Recursive: true, - Fields: "PrimaryImageAspectRatio,SyncInfo", + Fields: "PrimaryImageAspectRatio,BasicSyncInfo", CollapseBoxSetItems: false, ExcludeLocationTypes: "Virtual", EnableTotalRecordCount: false diff --git a/dashboard-ui/components/remotecontrol.js b/dashboard-ui/components/remotecontrol.js index bf102c70c..53161b580 100644 --- a/dashboard-ui/components/remotecontrol.js +++ b/dashboard-ui/components/remotecontrol.js @@ -399,7 +399,7 @@ // SortOrder: "Ascending", // IncludeItemTypes: "Audio", // Recursive: true, - // Fields: "PrimaryImageAspectRatio,SortName,MediaSourceCount,SyncInfo", + // Fields: "PrimaryImageAspectRatio,SortName,MediaSourceCount", // StartIndex: 0, // ImageTypeLimit: 1, // EnableImageTypes: "Primary,Backdrop,Banner,Thumb", diff --git a/dashboard-ui/css/librarymenu.css b/dashboard-ui/css/librarymenu.css index 7b84a121f..eb55fdf11 100644 --- a/dashboard-ui/css/librarymenu.css +++ b/dashboard-ui/css/librarymenu.css @@ -223,7 +223,6 @@ .dashboardDocument .viewMenuBar { background-color: #333; height: auto; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); } .dashboardDocument .viewMenuBar .primaryIcons { diff --git a/dashboard-ui/css/nowplayingbar.css b/dashboard-ui/css/nowplayingbar.css index 64cbc7e3b..13cbc63fc 100644 --- a/dashboard-ui/css/nowplayingbar.css +++ b/dashboard-ui/css/nowplayingbar.css @@ -66,7 +66,7 @@ will-change: transform; contain: layout style; height: 100%; - transform: translateY(-70px); + transform: translateY(-64px); } .hiddenNowPlayingBar .nowPlayingBar { @@ -87,15 +87,15 @@ } .mediaButton i { - height: 40px; - width: 40px; - font-size: 40px; + height: auto; + width: auto; + font-size: 36px; } .mediaButton.remoteControlButton i, .mediaButton.muteButton i, .mediaButton.unmuteButton i, .mediaButton.castButton i, .mediaButton.infoButton i { - height: 28px; - width: 28px; - font-size: 28px; + height: auto; + width: auto; + font-size: 24px; } .nowPlayingImage { @@ -109,12 +109,12 @@ } .nowPlayingImage img { - height: 70px; + height: 64px; } .nowPlayingBar .nowPlayingImage { - width: 70px; - height: 70px; + width: 64px; + height: 64px; background-position: center center; background-repeat: no-repeat; background-size: contain; @@ -168,7 +168,7 @@ .nowPlayingBarCenter { vertical-align: middle; text-align: center; - margin-top: 7px; + margin-top: 6px; /* Need this to make sure it's on top of nowPlayingBarPositionContainer so that buttons are fully clickable */ z-index: 2; position: absolute; @@ -179,7 +179,7 @@ .nowPlayingBarPositionContainer { position: absolute !important; - left: 70px; + left: 64px; top: -8px; right: 0; z-index: 1; diff --git a/dashboard-ui/scripts/channelitems.js b/dashboard-ui/scripts/channelitems.js index 5615bc0dd..ee95da7d9 100644 --- a/dashboard-ui/scripts/channelitems.js +++ b/dashboard-ui/scripts/channelitems.js @@ -11,7 +11,7 @@ query: { SortBy: "", SortOrder: "Ascending", - Fields: "PrimaryImageAspectRatio,SyncInfo", + Fields: "PrimaryImageAspectRatio", StartIndex: 0, Limit: LibraryBrowser.getDefaultPageSize() } diff --git a/dashboard-ui/scripts/episodes.js b/dashboard-ui/scripts/episodes.js index 6131da0c1..abff05c6a 100644 --- a/dashboard-ui/scripts/episodes.js +++ b/dashboard-ui/scripts/episodes.js @@ -18,7 +18,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Episode", Recursive: true, - Fields: "PrimaryImageAspectRatio,MediaSourceCount,UserData,SyncInfo", + Fields: "PrimaryImageAspectRatio,MediaSourceCount,UserData", IsMissing: false, IsVirtualUnaired: false, ImageTypeLimit: 1, diff --git a/dashboard-ui/scripts/homenextup.js b/dashboard-ui/scripts/homenextup.js index e8309187d..d283f7e34 100644 --- a/dashboard-ui/scripts/homenextup.js +++ b/dashboard-ui/scripts/homenextup.js @@ -5,7 +5,7 @@ var query = { Limit: 24, - Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated,SyncInfo", + Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated,BasicSyncInfo", UserId: Dashboard.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Thumb" diff --git a/dashboard-ui/scripts/homeupcoming.js b/dashboard-ui/scripts/homeupcoming.js index 585f76a10..a5e749fd1 100644 --- a/dashboard-ui/scripts/homeupcoming.js +++ b/dashboard-ui/scripts/homeupcoming.js @@ -7,7 +7,7 @@ var query = { Limit: 40, - Fields: "AirTime,UserData,SyncInfo", + Fields: "AirTime,UserData", UserId: Dashboard.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", diff --git a/dashboard-ui/scripts/itembynamedetailpage.js b/dashboard-ui/scripts/itembynamedetailpage.js index 97b9d6aff..1255d3ab6 100644 --- a/dashboard-ui/scripts/itembynamedetailpage.js +++ b/dashboard-ui/scripts/itembynamedetailpage.js @@ -299,7 +299,7 @@ SortOrder: "Ascending", IncludeItemTypes: "", Recursive: true, - Fields: "AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio,SyncInfo", + Fields: "AudioInfo,SeriesInfo,ParentId,PrimaryImageAspectRatio,BasicSyncInfo", Limit: LibraryBrowser.getDefaultPageSize(), StartIndex: 0, CollapseBoxSetItems: false diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index c05c796f8..a856364d4 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -873,7 +873,7 @@ var options = { userId: Dashboard.getCurrentUserId(), limit: 8, - fields: "PrimaryImageAspectRatio,UserData,SyncInfo,CanDelete" + fields: "PrimaryImageAspectRatio,UserData,CanDelete" }; if (item.Type == 'MusicAlbum' && item.AlbumArtists && item.AlbumArtists.length) { @@ -1554,7 +1554,7 @@ SortOrder: "Ascending", IncludeItemTypes: "MusicVideo", Recursive: true, - Fields: "DateCreated,SyncInfo,CanDelete", + Fields: "DateCreated,CanDelete", Albums: item.Name }).then(function (result) { diff --git a/dashboard-ui/scripts/itemlistpage.js b/dashboard-ui/scripts/itemlistpage.js index 668d6fbc1..e03e4fd3e 100644 --- a/dashboard-ui/scripts/itemlistpage.js +++ b/dashboard-ui/scripts/itemlistpage.js @@ -14,7 +14,7 @@ query: { SortBy: "IsFolder,SortName", SortOrder: "Ascending", - Fields: "DateCreated,PrimaryImageAspectRatio,MediaSourceCount,SyncInfo", + Fields: "DateCreated,PrimaryImageAspectRatio,MediaSourceCount", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/moviecollections.js b/dashboard-ui/scripts/moviecollections.js index 4b06722a4..2dce7084c 100644 --- a/dashboard-ui/scripts/moviecollections.js +++ b/dashboard-ui/scripts/moviecollections.js @@ -18,7 +18,7 @@ SortOrder: "Ascending", IncludeItemTypes: "BoxSet", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/moviegenres.js b/dashboard-ui/scripts/moviegenres.js index 8fc2e424c..ab5d9f647 100644 --- a/dashboard-ui/scripts/moviegenres.js +++ b/dashboard-ui/scripts/moviegenres.js @@ -16,7 +16,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Movie", Recursive: true, - Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio", + Fields: "DateCreated,ItemCounts,PrimaryImageAspectRatio", StartIndex: 0 }, view: libraryBrowser.getSavedView(key) || 'Thumb' @@ -62,7 +62,7 @@ itemsContainer: elem, shape: "backdrop", preferThumb: true, - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -75,7 +75,7 @@ itemsContainer: elem, shape: "backdrop", preferThumb: true, - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -86,7 +86,7 @@ cardBuilder.buildCards(result.Items, { itemsContainer: elem, shape: "auto", - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -97,7 +97,7 @@ cardBuilder.buildCards(result.Items, { itemsContainer: elem, shape: "auto", - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index 7cad9e9cb..5786edb21 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -18,7 +18,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Movie", Recursive: true, - Fields: "PrimaryImageAspectRatio,MediaSourceCount,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,MediaSourceCount,SortName,BasicSyncInfo", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index f5adf2b82..b982b87ac 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -18,7 +18,7 @@ IncludeItemTypes: "Movie", Limit: 18, - Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo", + Fields: "PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo", ParentId: parentId, ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", @@ -49,7 +49,7 @@ Filters: "IsResumable", Limit: screenWidth >= 1920 ? 5 : (screenWidth >= 1600 ? 4 : 3), Recursive: true, - Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo", + Fields: "PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo", CollapseBoxSetItems: false, ParentId: parentId, ImageTypeLimit: 1, @@ -131,7 +131,7 @@ userId: userId, categoryLimit: 6, ItemLimit: screenWidth >= 1920 ? 8 : (screenWidth >= 1600 ? 8 : (screenWidth >= 1200 ? 6 : 5)), - Fields: "PrimaryImageAspectRatio,MediaSourceCount,SyncInfo", + Fields: "PrimaryImageAspectRatio,MediaSourceCount,BasicSyncInfo", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb" }); diff --git a/dashboard-ui/scripts/musicalbums.js b/dashboard-ui/scripts/musicalbums.js index eeccb83a0..543fca0a2 100644 --- a/dashboard-ui/scripts/musicalbums.js +++ b/dashboard-ui/scripts/musicalbums.js @@ -18,7 +18,7 @@ SortOrder: "Ascending", IncludeItemTypes: "MusicAlbum", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName,BasicSyncInfo", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/musicartists.js b/dashboard-ui/scripts/musicartists.js index 1ca06ab00..798358899 100644 --- a/dashboard-ui/scripts/musicartists.js +++ b/dashboard-ui/scripts/musicartists.js @@ -16,7 +16,7 @@ SortBy: "SortName", SortOrder: "Ascending", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,DateCreated,SyncInfo,ItemCounts", + Fields: "PrimaryImageAspectRatio,SortName,DateCreated,ItemCounts", StartIndex: 0, ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", diff --git a/dashboard-ui/scripts/musicfolders.js b/dashboard-ui/scripts/musicfolders.js index 01858320b..ac97e2b3d 100644 --- a/dashboard-ui/scripts/musicfolders.js +++ b/dashboard-ui/scripts/musicfolders.js @@ -15,7 +15,7 @@ query: { SortBy: "SortName", SortOrder: "Ascending", - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName", StartIndex: 0, ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", diff --git a/dashboard-ui/scripts/musicgenres.js b/dashboard-ui/scripts/musicgenres.js index 3f1bbf9f4..12b686632 100644 --- a/dashboard-ui/scripts/musicgenres.js +++ b/dashboard-ui/scripts/musicgenres.js @@ -16,7 +16,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Audio,MusicAlbum", Recursive: true, - Fields: "DateCreated,SyncInfo,ItemCounts", + Fields: "DateCreated,ItemCounts", StartIndex: 0 }, view: libraryBrowser.getSavedView(key) || 'PosterCard' diff --git a/dashboard-ui/scripts/musicrecommended.js b/dashboard-ui/scripts/musicrecommended.js index 5724a19b6..76cf1bd84 100644 --- a/dashboard-ui/scripts/musicrecommended.js +++ b/dashboard-ui/scripts/musicrecommended.js @@ -61,7 +61,7 @@ IncludeItemTypes: "Audio", Limit: itemsPerRow(), Recursive: true, - Fields: "PrimaryImageAspectRatio,AudioInfo,SyncInfo", + Fields: "PrimaryImageAspectRatio,AudioInfo", Filters: "IsPlayed", ParentId: parentId, ImageTypeLimit: 1, @@ -107,7 +107,7 @@ IncludeItemTypes: "Audio", Limit: itemsPerRow(), Recursive: true, - Fields: "PrimaryImageAspectRatio,AudioInfo,SyncInfo", + Fields: "PrimaryImageAspectRatio,AudioInfo", Filters: "IsPlayed", ParentId: parentId, ImageTypeLimit: 1, @@ -152,7 +152,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Playlist", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete", StartIndex: 0, Limit: itemsPerRow(), EnableTotalRecordCount: false diff --git a/dashboard-ui/scripts/nowplayingbar.js b/dashboard-ui/scripts/nowplayingbar.js index a91557dd4..9a5486dd2 100644 --- a/dashboard-ui/scripts/nowplayingbar.js +++ b/dashboard-ui/scripts/nowplayingbar.js @@ -75,7 +75,7 @@ return html; } - var translateY = '-70px'; + var translateY = '-64px'; function slideDown(elem) { if (elem.classList.contains('hide')) { diff --git a/dashboard-ui/scripts/photos.js b/dashboard-ui/scripts/photos.js index f096928a8..0a8f149cf 100644 --- a/dashboard-ui/scripts/photos.js +++ b/dashboard-ui/scripts/photos.js @@ -13,7 +13,7 @@ query: { SortBy: "IsFolder,SortName", SortOrder: "Ascending", - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName", ImageTypeLimit: 1, EnableImageTypes: "Primary", StartIndex: 0, diff --git a/dashboard-ui/scripts/playlistedit.js b/dashboard-ui/scripts/playlistedit.js index a55780802..9db265a28 100644 --- a/dashboard-ui/scripts/playlistedit.js +++ b/dashboard-ui/scripts/playlistedit.js @@ -8,7 +8,7 @@ if (!pageData) { pageData = data[key] = { query: { - Fields: "PrimaryImageAspectRatio,SyncInfo", + Fields: "PrimaryImageAspectRatio", EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, Limit: 200 diff --git a/dashboard-ui/scripts/playlists.js b/dashboard-ui/scripts/playlists.js index 8e84f9304..9df97c2f2 100644 --- a/dashboard-ui/scripts/playlists.js +++ b/dashboard-ui/scripts/playlists.js @@ -14,7 +14,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Playlist", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete", StartIndex: 0, Limit: LibraryBrowser.getDefaultPageSize() }, diff --git a/dashboard-ui/scripts/secondaryitems.js b/dashboard-ui/scripts/secondaryitems.js index 06252af24..720ae7e2e 100644 --- a/dashboard-ui/scripts/secondaryitems.js +++ b/dashboard-ui/scripts/secondaryitems.js @@ -39,7 +39,7 @@ SortBy: "SortName", SortOrder: "Ascending", Recursive: params.recursive !== 'false', - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName,BasicSyncInfo", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/songs.js b/dashboard-ui/scripts/songs.js index 21ca9fd8d..bf55bb070 100644 --- a/dashboard-ui/scripts/songs.js +++ b/dashboard-ui/scripts/songs.js @@ -17,7 +17,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Audio", Recursive: true, - Fields: "AudioInfo,ParentId,SyncInfo", + Fields: "AudioInfo,ParentId", Limit: 100, StartIndex: 0, ImageTypeLimit: 1, diff --git a/dashboard-ui/scripts/tvgenres.js b/dashboard-ui/scripts/tvgenres.js index 238433f3a..2f5d7a6c2 100644 --- a/dashboard-ui/scripts/tvgenres.js +++ b/dashboard-ui/scripts/tvgenres.js @@ -16,7 +16,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Series", Recursive: true, - Fields: "DateCreated,SyncInfo,ItemCounts,PrimaryImageAspectRatio", + Fields: "DateCreated,ItemCounts,PrimaryImageAspectRatio", StartIndex: 0 }, view: libraryBrowser.getSavedView(key) || 'Thumb' @@ -62,7 +62,7 @@ itemsContainer: elem, shape: "backdrop", preferThumb: true, - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -75,7 +75,7 @@ itemsContainer: elem, shape: "backdrop", preferThumb: true, - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -86,7 +86,7 @@ cardBuilder.buildCards(result.Items, { itemsContainer: elem, shape: "auto", - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, @@ -97,7 +97,7 @@ cardBuilder.buildCards(result.Items, { itemsContainer: elem, shape: "auto", - showTitle: false, + showTitle: true, scalable: true, showItemCounts: true, centerText: true, diff --git a/dashboard-ui/scripts/tvlatest.js b/dashboard-ui/scripts/tvlatest.js index 39ec77330..c918222d0 100644 --- a/dashboard-ui/scripts/tvlatest.js +++ b/dashboard-ui/scripts/tvlatest.js @@ -17,7 +17,7 @@ IncludeItemTypes: "Episode", Limit: 30, - Fields: "PrimaryImageAspectRatio,SyncInfo", + Fields: "PrimaryImageAspectRatio,BasicSyncInfo", ParentId: parentId, ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Thumb" diff --git a/dashboard-ui/scripts/tvrecommended.js b/dashboard-ui/scripts/tvrecommended.js index 31210758f..4e22e93f8 100644 --- a/dashboard-ui/scripts/tvrecommended.js +++ b/dashboard-ui/scripts/tvrecommended.js @@ -17,7 +17,7 @@ var query = { Limit: 24, - Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated,SyncInfo", + Fields: "PrimaryImageAspectRatio,SeriesInfo,DateCreated,BasicSyncInfo", UserId: Dashboard.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Thumb" @@ -72,7 +72,7 @@ Filters: "IsResumable", Limit: limit, Recursive: true, - Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData,SyncInfo", + Fields: "PrimaryImageAspectRatio,SeriesInfo,UserData,BasicSyncInfo", ExcludeLocationTypes: "Virtual", ParentId: parentId, ImageTypeLimit: 1, diff --git a/dashboard-ui/scripts/tvshows.js b/dashboard-ui/scripts/tvshows.js index 1df2e3c2e..8be83d388 100644 --- a/dashboard-ui/scripts/tvshows.js +++ b/dashboard-ui/scripts/tvshows.js @@ -18,7 +18,7 @@ SortOrder: "Ascending", IncludeItemTypes: "Series", Recursive: true, - Fields: "PrimaryImageAspectRatio,SortName,SyncInfo", + Fields: "PrimaryImageAspectRatio,SortName", ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", StartIndex: 0, diff --git a/dashboard-ui/scripts/tvupcoming.js b/dashboard-ui/scripts/tvupcoming.js index e5a5265df..7bd9d2d1e 100644 --- a/dashboard-ui/scripts/tvupcoming.js +++ b/dashboard-ui/scripts/tvupcoming.js @@ -7,7 +7,7 @@ var query = { Limit: 40, - Fields: "AirTime,UserData,SyncInfo", + Fields: "AirTime,UserData", UserId: Dashboard.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb",