From ce7672fca6fc862d6320a660888efc387ae6e937 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 24 Jul 2016 14:25:32 -0400 Subject: [PATCH] removed dead css --- dashboard-ui/about.html | 2 +- .../emby-webcomponents/itemcontextmenu.js | 18 +- .../metadataeditor/metadataeditor.js | 4 +- .../metadataeditor.template.html | 2 +- .../metadataeditor/personeditor.js | 66 ++++ .../metadataeditor/personeditor.template.html | 0 .../emby-webcomponents/shortcuts.js | 4 +- .../directorybrowser/directorybrowser.css | 23 ++ .../directorybrowser/directorybrowser.js | 2 +- .../components/metadataeditor/personeditor.js | 70 ---- dashboard-ui/css/dashboard.css | 314 +++++++++++++++++- dashboard-ui/css/fonts/Montserrat.woff | Bin 21812 -> 0 bytes dashboard-ui/css/librarybrowser.css | 22 -- dashboard-ui/css/librarymenu.css | 142 -------- dashboard-ui/css/site.css | 148 +-------- dashboard-ui/scripts/edititemmetadata.js | 4 +- dashboard-ui/scripts/site.js | 12 +- dashboard-ui/shared.html | 2 +- .../thirdparty/paper-button-style.css | 201 +---------- 19 files changed, 429 insertions(+), 607 deletions(-) rename dashboard-ui/{components => bower_components/emby-webcomponents}/metadataeditor/metadataeditor.js (99%) rename dashboard-ui/{components => bower_components/emby-webcomponents}/metadataeditor/metadataeditor.template.html (99%) create mode 100644 dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js rename dashboard-ui/{components => bower_components/emby-webcomponents}/metadataeditor/personeditor.template.html (100%) create mode 100644 dashboard-ui/components/directorybrowser/directorybrowser.css delete mode 100644 dashboard-ui/components/metadataeditor/personeditor.js delete mode 100644 dashboard-ui/css/fonts/Montserrat.woff diff --git a/dashboard-ui/about.html b/dashboard-ui/about.html index f1aca00e1..8a94e4d8c 100644 --- a/dashboard-ui/about.html +++ b/dashboard-ui/about.html @@ -4,7 +4,7 @@

- EMBY +



diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js index c6c5d5b75..3cbc378ed 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js @@ -45,16 +45,14 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', if (itemHelper.canEdit(user, item.Type)) { - if (isMobileApp) { - if (options.edit !== false) { + if (options.edit !== false) { - var text = item.Type == 'Timer' ? globalize.translate('sharedcomponents#Edit') : globalize.translate('sharedcomponents#EditInfo'); + var text = item.Type == 'Timer' ? globalize.translate('sharedcomponents#Edit') : globalize.translate('sharedcomponents#EditInfo'); - commands.push({ - name: text, - id: 'edit' - }); - } + commands.push({ + name: text, + id: 'edit' + }); } } @@ -524,9 +522,9 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', recordingEditor.show(item.Id, serverId).then(resolve, reject); }); } else { - require(['components/metadataeditor/metadataeditor'], function (metadataeditor) { + require(['metadataEditor'], function (metadataEditor) { - metadataeditor.show(item.Id, serverId).then(resolve, reject); + metadataEditor.show(item.Id, serverId).then(resolve, reject); }); } }); diff --git a/dashboard-ui/components/metadataeditor/metadataeditor.js b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js similarity index 99% rename from dashboard-ui/components/metadataeditor/metadataeditor.js rename to dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js index 11f209ac2..ffb4cbe35 100644 --- a/dashboard-ui/components/metadataeditor/metadataeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.js @@ -258,9 +258,9 @@ function editPerson(context, person, index) { - require(['components/metadataeditor/personeditor'], function (personeditor) { + require(['personEditor'], function (personEditor) { - personeditor.show(person).then(function (updatedPerson) { + personEditor.show(person).then(function (updatedPerson) { var isNew = index == -1; diff --git a/dashboard-ui/components/metadataeditor/metadataeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html similarity index 99% rename from dashboard-ui/components/metadataeditor/metadataeditor.template.html rename to dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html index 455a9bae3..5f2a2c38d 100644 --- a/dashboard-ui/components/metadataeditor/metadataeditor.template.html +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/metadataeditor.template.html @@ -16,7 +16,7 @@
-
+
diff --git a/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js new file mode 100644 index 000000000..b5789b1d1 --- /dev/null +++ b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.js @@ -0,0 +1,66 @@ +define(['dialogHelper', 'globalize', 'require', 'paper-icon-button-light', 'emby-input', 'emby-select'], function (dialogHelper, globalize, require) { + + function show(person) { + return new Promise(function (resolve, reject) { + + require(['text!./personeditor.template.html'], function (template) { + + var dlg = dialogHelper.createDialog({ + removeOnClose: true, + size: 'medium' + }); + + dlg.classList.add('ui-body-b'); + dlg.classList.add('background-theme-b'); + + dlg.classList.add('formDialog'); + + var html = ''; + var submitted = false; + + html += globalize.translateDocument(template); + + dlg.innerHTML = html; + document.body.appendChild(dlg); + + dlg.querySelector('.txtPersonName', dlg).value = person.Name || ''; + dlg.querySelector('.selectPersonType', dlg).value = person.Type || ''; + dlg.querySelector('.txtPersonRole', dlg).value = person.Role || ''; + + dialogHelper.open(dlg); + + dlg.addEventListener('close', function () { + + if (submitted) { + resolve(person); + } else { + reject(); + } + }); + + dlg.querySelector('.btnCancel').addEventListener('click', function (e) { + + dialogHelper.close(dlg); + }); + + dlg.querySelector('form').addEventListener('submit', function (e) { + + submitted = true; + + person.Name = dlg.querySelector('.txtPersonName', dlg).value; + person.Type = dlg.querySelector('.selectPersonType', dlg).value; + person.Role = dlg.querySelector('.txtPersonRole', dlg).value || null; + + dialogHelper.close(dlg); + + e.preventDefault(); + return false; + }); + }); + }); + } + + return { + show: show + }; +}); \ No newline at end of file diff --git a/dashboard-ui/components/metadataeditor/personeditor.template.html b/dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.template.html similarity index 100% rename from dashboard-ui/components/metadataeditor/personeditor.template.html rename to dashboard-ui/bower_components/emby-webcomponents/metadataeditor/personeditor.template.html diff --git a/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js b/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js index 4617385a2..01c8f91ed 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js +++ b/dashboard-ui/bower_components/emby-webcomponents/shortcuts.js @@ -299,9 +299,9 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g recordingEditor.show(item.Id, serverId).then(resolve, reject); }); } else { - require(['components/metadataeditor/metadataeditor'], function (metadataeditor) { + require(['metadataEditor'], function (metadataEditor) { - metadataeditor.show(item.Id, serverId).then(resolve, reject); + metadataEditor.show(item.Id, serverId).then(resolve, reject); }); } }); diff --git a/dashboard-ui/components/directorybrowser/directorybrowser.css b/dashboard-ui/components/directorybrowser/directorybrowser.css new file mode 100644 index 000000000..dffe03a70 --- /dev/null +++ b/dashboard-ui/components/directorybrowser/directorybrowser.css @@ -0,0 +1,23 @@ +#ulDirectoryPickerList a { + padding-top: .4em; + padding-bottom: .4em; +} + +.lblDirectoryPickerPath { + white-space: nowrap; +} + +.directoryPickerHeadline { + color: #000; + background: #fff3a5; + padding: 1em; + border-radius: 5px; + margin-top: 2em; +} + +.directoryPicker paper-item { + min-height: 36px; + border-bottom: 1px solid #eee; + outline: none; + cursor: pointer; +} \ No newline at end of file diff --git a/dashboard-ui/components/directorybrowser/directorybrowser.js b/dashboard-ui/components/directorybrowser/directorybrowser.js index 7b9e110d0..9d86a27fe 100644 --- a/dashboard-ui/components/directorybrowser/directorybrowser.js +++ b/dashboard-ui/components/directorybrowser/directorybrowser.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'jQuery', 'paper-item', 'emby-input', 'emby-button', 'paper-item-body', 'paper-icon-button-light'], function (dialogHelper, $) { +define(['dialogHelper', 'jQuery', 'paper-item', 'emby-input', 'emby-button', 'paper-item-body', 'paper-icon-button-light', 'css!./directorybrowser'], function (dialogHelper, $) { var systemInfo; function getSystemInfo() { diff --git a/dashboard-ui/components/metadataeditor/personeditor.js b/dashboard-ui/components/metadataeditor/personeditor.js deleted file mode 100644 index fa32e8a3f..000000000 --- a/dashboard-ui/components/metadataeditor/personeditor.js +++ /dev/null @@ -1,70 +0,0 @@ -define(['dialogHelper', 'paper-icon-button-light', 'emby-input', 'emby-select'], function (dialogHelper) { - - return { - show: function (person) { - return new Promise(function (resolve, reject) { - - var xhr = new XMLHttpRequest(); - xhr.open('GET', 'components/metadataeditor/personeditor.template.html', true); - - xhr.onload = function (e) { - - var template = this.response; - var dlg = dialogHelper.createDialog({ - removeOnClose: true, - size: 'medium' - }); - - dlg.classList.add('ui-body-b'); - dlg.classList.add('background-theme-b'); - - dlg.classList.add('formDialog'); - - var html = ''; - var submitted = false; - - html += Globalize.translateDocument(template); - - dlg.innerHTML = html; - document.body.appendChild(dlg); - - dlg.querySelector('.txtPersonName', dlg).value = person.Name || ''; - dlg.querySelector('.selectPersonType', dlg).value = person.Type || ''; - dlg.querySelector('.txtPersonRole', dlg).value = person.Role || ''; - - dialogHelper.open(dlg); - - dlg.addEventListener('close', function () { - - if (submitted) { - resolve(person); - } else { - reject(); - } - }); - - dlg.querySelector('.btnCancel').addEventListener('click', function (e) { - - dialogHelper.close(dlg); - }); - - dlg.querySelector('form').addEventListener('submit', function (e) { - - submitted = true; - - person.Name = dlg.querySelector('.txtPersonName', dlg).value; - person.Type = dlg.querySelector('.selectPersonType', dlg).value; - person.Role = dlg.querySelector('.txtPersonRole', dlg).value || null; - - dialogHelper.close(dlg); - - e.preventDefault(); - return false; - }); - } - - xhr.send(); - }); - } - }; -}); \ No newline at end of file diff --git a/dashboard-ui/css/dashboard.css b/dashboard-ui/css/dashboard.css index f64c8a193..a9b879fc2 100644 --- a/dashboard-ui/css/dashboard.css +++ b/dashboard-ui/css/dashboard.css @@ -1,4 +1,314 @@ -/* Swatches */ +/* For some reason jquery mobile 1.4.5 wants to horitontally pad mini form fields. */ +.ui-mini { + margin-left: 0; +} + +iron-icon { + min-width: 24px; + min-height: 24px; +} + +.ui-body-a select { + background: none; + border-color: #757575; +} + + .ui-body-a select option { + color: #000; + } + +.paperCheckboxFieldDescription { + padding-left: 31px; + padding-top: 5px; +} + +paper-input + .fieldDescription { + padding-top: 5px; + opacity: .9; +} + +/* Tabs (e.g. advanced metadata page) */ +.localnav { + margin-bottom: 30px !important; +} + +@media all and (min-width: 800px) { + + .type-interior > .ui-content, .type-interior > .ui-panel-content-wrap > .ui-content { + padding-right: 0; + padding-left: 0; + padding-top: 0; + overflow: hidden; + } +} + +.ui-body-a .emby-collapsible-button { + border: 0; + background-color: #e8e8e8; + text-transform: none; +} + +.ui-body-a .emby-collapsible-title { + margin: .25em 0; + color: #000; + padding: 0 0 0 .5em; + font-weight: 500; +} + +.ui-body-a .emby-collapsible-content, .ui-body-a .collapseContent { + border-width: 0; + padding: 1em 1.25em; + background-color: #fff; +} + +.dashboardDocument .lnkMySync { + display: none !important; +} + +.dashboardDocument .dashboardEntryHeaderButton { + display: none !important; +} + +.dashboardDocument .lnkManageServer { + display: none !important; +} + +.dashboardDocument .headerVoiceButton { + display: none !important; +} + +.dashboardDocument .btnCast, .dashboardDocument .headerSelectedPlayer { + display: none !important; +} + +.adminDrawer { + background: #fff !important; +} + +.dashboardDocument .mainDrawerPanelContent { + transition: left ease-in-out 0.3s, padding ease-in-out 0.3s; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.adminDrawer { + background: #fff !important; +} + +.dashboardDocument .mainDrawerPanelContent { + transition: left ease-in-out 0.3s, padding ease-in-out 0.3s; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +@media all and (min-width: 640px) { + + .dashboardDocument .mainDrawer { + z-index: 998 !important; + top: 65px !important; + left: 0 !important; + transform: none !important; + } + + .dashboardDocument .tmla-mask { + display: none !important; + } + + .dashboardDocument .mainDrawerButton { + display: none !important; + } + + .dashboardDocument .libraryMenuButtonText { + font-size: 150%; + } + + .dashboardDocument .mainDrawerPanelContent { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 270px; + } + + .dashboardDocument .adminDrawerLogo { + display: none; + } +} + +.adminDrawer .sidebarLink { + color: #333 !important; + font-weight: 400 !important; + padding: .7em 0 .7em 1.5em; +} + +.adminDrawer .sidebarHeader { + color: #666 !important; + font-weight: 500 !important; +} + +.adminDrawer .sidebarLinkIcon { + color: #666; + margin-right: 1em; +} + +.adminDrawer .sidebarLink:hover { + color: #00897B !important; +} + +.adminDrawer .sidebarLink.selectedSidebarLink { + background: #52B54B !important; + color: #fff !important; +} + + .adminDrawer .sidebarLink.selectedSidebarLink .sidebarLinkIcon { + color: #fff !important; + } + +.adminDrawerLogo { + padding: 1.5em 1em 1.2em; + border-bottom: 1px solid #e0e0e0; + margin-bottom: 1em; + display: block; +} + + .adminDrawerLogo img { + height: 30px; + } + +@media all and (max-width: 640px) { + + .dashboardDocument .headerAppsButton { + display: none; + } +} + +/* Swatches */ + +paper-fab.blue { + background: #03a9f4; +} + +paper-checkbox #checkboxContainer { + width: 22px !important; + height: 22px !important; +} + +paper-checkbox paper-ripple { + top: -13px !important; + left: -13px !important; +} + +paper-checkbox #checkmark { + border-right-width: 4px !important; + border-bottom-width: 4px !important; +} + +.paperCheckboxList paper-checkbox { + display: block; + padding: .5em 0; +} + +paper-input label, paper-textarea label { + font-size: 18px !important; + font-family: inherit !important; +} + +.paperListLabel { + font-size: 16px; + margin-bottom: .5em; +} + +paper-fab { + vertical-align: middle; + display: inline-flex !important; +} + + paper-fab.mini { + width: 22px; + height: 22px; + } + + paper-fab.mini iron-icon { + width: 22px; + height: 22px; + } + +.ui-body-a paper-fab.subdued { + background: #fff; + color: #000; +} + + .ui-body-a paper-fab.subdued paper-material.keyboard-focus { + background: #686868 !important; + } + +paper-fab.white { + background: #fff; + color: #000; +} + + paper-fab.white paper-material.keyboard-focus { + background: #01579b !important; + color: #fff; + } + +paper-fab.square { + border-radius: 5px; +} + +paper-fab.accent { + background-color: #52B54B; +} + +paper-textarea.mono textarea { + font-family: monospace !important; +} + +.ui-body-a .paperCheckboxFieldDescription { + color: #333; +} + +.ui-body-a paper-checkbox #checkbox.checked.paper-checkbox { + background-color: #52B54B; + border-color: #52B54B; +} + +.ui-body-a .inputLabel, .ui-body-a .textareaLabel { + color: #555; +} + + .ui-body-a .inputLabel.focused:not(.blank), .ui-body-a .textareaLabel.focused:not(.blank) { + color: green; + } + +.ui-body-a .paper-input-container-0 .input-content.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.paper-input-container .paper-input-label, .ui-body-a paper-textarea label, .ui-body-a .selectLabel, .ui-body-a .paperListLabel, .ui-body-a .fieldDescription { + color: #555; +} + +.ui-body-a .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container .paper-input-label { + color: green; +} + +paper-input .focused-line, paper-textarea .focused-line { + background-color: #52B54B !important; +} + +.paperList { + padding: .5em 0; + margin: 12px auto; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + background-color: #fff; +} + +.paperCheckboxList.paperList { + padding: .5em 1em; +} /* A -----------------------------------------------------------------------------------------------------------*/ @@ -696,4 +1006,4 @@ a[data-role='button'], .type-interior button:not([data-role='none']):not(.clearB .supporterMembershipDisabled .tabSupporterMembership { display: none; -} \ No newline at end of file +} diff --git a/dashboard-ui/css/fonts/Montserrat.woff b/dashboard-ui/css/fonts/Montserrat.woff deleted file mode 100644 index a4b2fb9fa1d48bb0f4d64b5621337f96659018ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21812 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 .ui-content, .type-interior > .ui-panel-content-wrap > .ui-content { - padding-right: 0; - padding-left: 0; - padding-top: 0; - overflow: hidden; - } } @media all and (min-width: 900px) { @@ -481,30 +382,6 @@ paper-input + .fieldDescription { } } -#ulDirectoryPickerList a { - padding-top: .4em; - padding-bottom: .4em; -} - -.lblDirectoryPickerPath { - white-space: nowrap; -} - -.directoryPickerHeadline { - color: #000; - background: #fff3a5; - padding: 1em; - border-radius: 5px; - margin-top: 2em; -} - -.directoryPicker paper-item { - min-height: 36px; - border-bottom: 1px solid #eee; - outline: none; - cursor: pointer; -} - /* Footer */ #footer { position: fixed; @@ -722,25 +599,6 @@ progress { background-color: #e8e8e8; } -.ui-body-a .emby-collapsible-button { - border: 0; - background-color: #e8e8e8; - text-transform: none; -} - -.ui-body-a .emby-collapsible-title { - margin: .25em 0; - color: #000; - padding: 0 0 0 .5em; - font-weight: 500; -} - -.ui-body-a .emby-collapsible-content, .ui-body-a .collapseContent { - border-width: 0; - padding: 1em 1.25em; - background-color: #fff; -} - .ui-body-b .emby-collapsible-button { border: 0; background-color: #333; @@ -758,8 +616,4 @@ progress { border-width: 0; padding: 1em 1.25em; background-color: #222; -} - -#editItemMetadataPage #txtOverview .paper-input-input { - max-height: 90px; -} +} \ No newline at end of file diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js index 8cc358068..8e2c8cedb 100644 --- a/dashboard-ui/scripts/edititemmetadata.js +++ b/dashboard-ui/scripts/edititemmetadata.js @@ -12,9 +12,9 @@ currentItemId = itemId; if (itemId) { - require(['components/metadataeditor/metadataeditor'], function (metadataeditor) { + require(['metadataEditor'], function (metadataEditor) { - metadataeditor.embed(page.querySelector('.editPageInnerContent'), itemId, ApiClient.serverInfo().Id); + metadataEditor.embed(page.querySelector('.editPageInnerContent'), itemId, ApiClient.serverInfo().Id); }); } else { page.querySelector('.editPageInnerContent').innerHTML = ''; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 29da0fc3b..8ec7979f9 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -545,8 +545,7 @@ if (page.classList.contains('standalonePage')) { - headerHtml += ''; - headerHtml += 'EMBY'; + headerHtml += ''; } headerHtml += ''; @@ -956,9 +955,9 @@ // The native app can handle a little bit more than safari if (AppInfo.isNativeApp) { - quality -= 5; + quality -= 10; } else { - quality -= 15; + quality -= 20; } } options.quality = quality; @@ -1488,7 +1487,6 @@ var AppInfo = {}; velocity: bowerPath + "/velocity/velocity.min", ironCardList: 'components/ironcardlist/ironcardlist', scrollThreshold: 'components/scrollthreshold', - directorybrowser: 'components/directorybrowser/directorybrowser', playlisteditor: 'components/playlisteditor/playlisteditor', medialibrarycreator: 'components/medialibrarycreator/medialibrarycreator', medialibraryeditor: 'components/medialibraryeditor/medialibraryeditor', @@ -1548,6 +1546,10 @@ var AppInfo = {}; define("libjass", [bowerPath + "/libjass/libjass.min", "css!" + bowerPath + "/libjass/libjass"], returnFirstDependency); + define("directorybrowser", ["components/directorybrowser/directorybrowser"], returnFirstDependency); + define("metadataEditor", [embyWebComponentsBowerPath + "/metadataeditor/metadataeditor"], returnFirstDependency); + define("personEditor", [embyWebComponentsBowerPath + "/metadataeditor/personeditor"], returnFirstDependency); + define("emby-collapse", [embyWebComponentsBowerPath + "/emby-collapse/emby-collapse"], returnFirstDependency); define("emby-button", [embyWebComponentsBowerPath + "/emby-button/emby-button"], returnFirstDependency); define("emby-itemscontainer", [embyWebComponentsBowerPath + "/emby-itemscontainer/emby-itemscontainer"], returnFirstDependency); diff --git a/dashboard-ui/shared.html b/dashboard-ui/shared.html index 6bcd1b427..fbb091e4f 100644 --- a/dashboard-ui/shared.html +++ b/dashboard-ui/shared.html @@ -11,7 +11,7 @@ border-bottom-right-radius: 10px; } - +
diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index 7e8706f54..df57d57e3 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -6,7 +6,7 @@ background: #e1f5f3; } -button[is="emby-button"].fab.blue, paper-fab.blue { +button[is="emby-button"].fab.blue { background: #03a9f4; } @@ -135,10 +135,6 @@ button[is="emby-button"].mini:not(.fab) { width: 20px; } -paper-toast { - z-index: 9999999; -} - button[is="emby-button"].notext { min-width: 2.8em; padding-left: .25em !important; @@ -149,69 +145,6 @@ button[is="emby-button"].notext { margin-right: 0; } -paper-icon-button paper-ripple { - color: inherit !important; -} - -.ui-body-b paper-icon-button[disabled] { - color: #444 !important; -} - -paper-fab { - vertical-align: middle; - display: inline-flex !important; -} - - paper-fab.mini { - width: 22px; - height: 22px; - } - - paper-fab.mini iron-icon { - width: 22px; - height: 22px; - } - -.ui-body-a paper-fab.subdued { - background: #fff; - color: #000; -} - - .ui-body-a paper-fab.subdued paper-material.keyboard-focus { - background: #686868 !important; - } - -.ui-body-b paper-fab.subdued { - background: #404040; - color: #fff; -} - - .ui-body-b paper-fab.subdued paper-material.keyboard-focus { - background: #686868 !important; - } - -.ui-body-b paper-fab[disabled].subdued { - background: #222; -} - -paper-fab.white { - background: #fff; - color: #000; -} - - paper-fab.white paper-material.keyboard-focus { - background: #01579b !important; - color: #fff; - } - -paper-fab.square { - border-radius: 5px; -} - -paper-fab.accent { - background-color: #52B54B; -} - .fab.green { background-color: #81c784 !important; } @@ -224,144 +157,14 @@ paper-fab.accent { background-color: #e57373 !important; } -.scrollablePaperTabs paper-icon-button { - display: none !important; -} - -.ui-body-b paper-item-body [secondary] { - color: #aaa; -} - -.ui-body-b paper-checkbox paper-ripple { - color: #fff !important; -} - -.ui-body-b paper-checkbox #checkboxLabel.paper-checkbox { - color: inherit; -} - -.ui-body-a .paperCheckboxFieldDescription { - color: #333; -} - -.ui-body-b .paperCheckboxFieldDescription { +.ui-body-b .paperListLabel, .ui-body-b .fieldDescription, .ui-body-b .selectLabelUnfocused, .ui-body-b .inputLabel, .ui-body-b .textareaLabel { color: #ccc; } -.ui-body-b paper-checkbox #checkbox.paper-checkbox { - border-color: #dedede; -} - -.ui-body-a paper-checkbox #checkbox.checked.paper-checkbox { - background-color: #52B54B; - border-color: #52B54B; -} - -.ui-body-b paper-checkbox #checkbox.checked.paper-checkbox { - background-color: #52B54B; - border-color: #52B54B; -} - -paper-checkbox #checkboxContainer { - width: 22px !important; - height: 22px !important; -} - -paper-checkbox paper-ripple { - top: -13px !important; - left: -13px !important; -} - -paper-checkbox #checkmark { - border-right-width: 4px !important; - border-bottom-width: 4px !important; -} - -.paperCheckboxList paper-checkbox { - display: block; - padding: .5em 0; -} - -paper-input label, paper-textarea label { - font-size: 18px !important; - font-family: inherit !important; -} - -.paperListLabel { - font-size: 16px; - margin-bottom: .5em; -} - -.ui-body-b .paper-input-container-0 .input-content.paper-input-container label, .ui-body-b .paper-input-container-0 .input-content.paper-input-container .paper-input-label, .ui-body-b paper-textarea label, .ui-body-b .paperListLabel, .ui-body-b .fieldDescription { - color: #ccc; -} - -.ui-body-a .inputLabel, .ui-body-a .textareaLabel { - color: #555; -} - - .ui-body-a .inputLabel.focused:not(.blank), .ui-body-a .textareaLabel.focused:not(.blank) { - color: green; - } - -.ui-body-b .selectLabelUnfocused, .ui-body-b .inputLabel, .ui-body-b .textareaLabel { - color: #ccc; -} - -.ui-body-a .paper-input-container-0 .input-content.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.paper-input-container .paper-input-label, .ui-body-a paper-textarea label, .ui-body-a .selectLabel, .ui-body-a .paperListLabel, .ui-body-a .fieldDescription { - color: #555; -} - -.ui-body-a .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container .paper-input-label { - color: green; -} - -.ui-body-b .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container label, .ui-body-b .paper-input-container-0 .input-content.label-is-highlighted.paper-input-container .paper-input-label { - color: #52B54B; -} - -.ui-body-b .paper-input-container-0 .input-content.paper-input-container input, .ui-body-b .paper-input-container-0 .input-content.paper-input-container textarea, .ui-body-b .paper-input-container-0 .input-content.paper-input-container iron-autogrow-textarea, .ui-body-b .paper-input-container-0 .input-content.paper-input-container .paper-input-input { - color: #fff; -} - -paper-input .focused-line, paper-textarea .focused-line { - background-color: #52B54B !important; -} - -.ui-body-b .unfocused-line.paper-input-container, .ui-body-b .unfocused-line.paper-textarea-container { - background: #454545; -} - -paper-textarea.mono textarea { - font-family: monospace !important; -} - -.paperList { - padding: .5em 0; - margin: 12px auto; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); - background-color: #fff; -} - -.paperCheckboxList.paperList { - padding: .5em 1em; -} - .ui-body-b .paperList { background-color: #2b2b2b; } -paper-dropdown-menu { - text-align: left; - margin: auto; - width: 100%; - display: inline-block; -} - - paper-dropdown-menu paper-item { - display: block; - } - div.dialogHeader { padding: .35em .5em; display: flex;