commit 8c9f84a1d2cdf4f810aa0fcdce98e14d4bfc1c0a Author: DedBash <79027536+DedBash@users.noreply.github.com> Date: Tue Jul 22 10:02:56 2025 +0200 Upload für erste instanz diff --git a/inst01/accentlist.css b/inst01/accentlist.css new file mode 100644 index 0000000..7ff95f7 --- /dev/null +++ b/inst01/accentlist.css @@ -0,0 +1,125 @@ +.emby-button.show-focus:focus { + background: rgba(var(--accent),0.5) !important; +} +.paper-icon-button-light.show-focus:focus { + color: rgba(var(--accent)) !important; +} + +/*Title text buttons*/ +button-flat:hover { + color: rgba(var(--accent)) !important; +} + +.raised:hover, +.fab:hover, +a[data-role="button"]:hover { + background: rgba(var(--accent),0.5) !important; +} + +.subtitleappearance-preview { + background: linear-gradient(140deg,rgb(var(--accent)),#111) !important; +} + +.navMenuOption-selected, +.css-17c09up.Mui-selected { + color: rgba(var(--accent)); +} +.mdl-slider-background-lower { + background-color: rgba(var(--accent)); +} + +progress::-moz-progress-bar { + background-color: rgba(var(--accent),0.75); +} +progress::-webkit-progress-value { + background-color: rgba(var(--accent),0.75); +} +.taskProgressInner, +.sliderMarker.watched { + background: rgba(var(--accent),0.75) !important; +} + +#dashboardPage .playbackProgress > div { + background-color: rgba(var(--accent), 0.75) !important; +} +#dashboardPage .transcodingProgress > div { + background-color: rgba(var(--accent), 0.35) !important; +} + +.mdl-slider-background-lower { + background-color: rgb(var(--accent)); +} +.mdl-slider::-moz-range-thumb { + background: rgb(var(--accent)); +} +.mdl-slider::-ms-thumb { + background: rgb(var(--accent)); +} +.mdl-slider::-webkit-slider-thumb { + background: rgb(var(--accent)); +} +.iconOsdProgressInner { + background: rgb(var(--accent)); +} + +.paper-icon-button-light:hover, +.raised.homeLibraryButton:hover, +.button-flat:hover, +.playstatebutton-icon-played, +.ratingbutton-icon-withrating, +.paper-icon-button-light:hover:not(:disabled), +.emby-tab-button:hover, +.selectLabelFocused, +.inputLabelFocused, +.textareaLabelFocused, +.buttonActive, +.button-link { + color: rgba(var(--accent)) !important; +} + +#itemDetailPage .button-link {color: inherit !important;} + +.navMenuOption:hover, +.actionSheetMenuItem:hover, +.css-17c09up:hover { + background-color: rgba(var(--accent),0.5) !important; +} + +.emby-checkbox:checked + span + .checkboxOutline, +.emby-textarea:focus, +.emby-select-withcolor:focus, +.emby-input:focus, +.itemSelectionPanel { + border: 0.01em solid rgba(var(--accent),0.5) !important; +} + +.upNextDialog-countdownText { + color: rgba(var(--accent)); +} + +.mdl-spinner__layer-1 { + border-color: rgba(var(--accent)); +} +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__track { + background: rgba(var(--accent), 0.5); +} +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { + background: rgba(var(--accent)); +} + +::-webkit-scrollbar-thumb { + background: rgba(var(--accent),0.8) !important; +} +* { + scrollbar-color: rgba(var(--accent),0.8) #0000 !important; +} + +/* Syncplay theming*/ +.syncPlayIconCircle { + color: rgba(var(--accent),1) !important; + text-shadow: none !important; +} + +.css-4yt2of { + border-right: 1px solid rgba(var(--accent), 0.12); +} \ No newline at end of file diff --git a/inst01/backdrop-hack_style.css b/inst01/backdrop-hack_style.css new file mode 100644 index 0000000..b760f66 --- /dev/null +++ b/inst01/backdrop-hack_style.css @@ -0,0 +1,28 @@ +.layout-mobile .detailPageWrapperContainer { + margin-top: 0em; + z-index: 0; +} +.layout-mobile .detailPagePrimaryContainer { + z-index: -1; +} +.layout-mobile .primaryImageWrapper { + -webkit-flex: 0 0 auto; + flex: 0 0 auto; +} +.layout-mobile .mainDetailButtons { + background: rgba(0, 0, 0, 0.2); + z-index: 1; + margin-left: -.5em; + margin-right: -.5em; +} +.layout-mobile .infoText { + z-index: 1; +} +.layout-mobile .primaryImageWrapper > img { + min-width: 100vw; + min-height: 100vh; + position: fixed; + left: 0; + top: 0; + filter: blur(20px) saturate(190%) contrast(140%) brightness(25%); +} \ No newline at end of file diff --git a/inst01/base.css b/inst01/base.css new file mode 100644 index 0000000..2931d78 --- /dev/null +++ b/inst01/base.css @@ -0,0 +1,238 @@ +:root {--indicator: 0, 164, 220;} +:root {--selection: 0, 164, 220;} + +.css-4yt2of { + background-color: rgba(0, 0, 0, 0.2); +} + +.emby-textarea { + font-family: monospace; + font-size: 10pt; +} + +.card.show-animation:focus>.cardBox { + -webkit-transform:scale(1.1); + transform:scale(1.1); +} + +/*Theme user setting tab buttons*/ +div[data-role="controlgroup"] a.ui-btn-active { + background: rgba(0, 0, 0, 0.5) !important; + color: white !important; +} + +div[data-role="controlgroup"] a[data-role="button"] { + display: table-cell !important; + margin: 0 !important; +} + +/*Mobile tweaks*/ +.layout-mobile .detailPagePrimaryContainer { + background: transparent; +} +.layout-mobile .adminDrawerLogo { + border-bottom: none; +} +.layout-mobile .itemBackdrop { + margin-top: 4rem; +} + +/*Stop covers from being scrolled on desktop*/ +.layout-desktop .detailImageContainer .card { + position: fixed !important; + top: 10% !important; +} +.layout-mobile .detailImageContainer .card { + position: absolute !important; +} +/*Top "task bar" enlarge text*/ +.headerTabs.sectionTabs { + text-size-adjust: 110%; + font-size: 110%; +} +.pageTitle { + margin-top: auto; + margin-bottom: auto; +} + +/*Theme process progress ring*/ +.progressring-spiner { + border-color: rgba(var(--accent)); + border-width: .35em; +} +.progressring { + margin: .4em; +} +.progressring-bg { + display: none; +} + +/*Theme link color*/ +#itemDetailPage .button-link {color: inherit !important;} + +/*Accommodate mobile and align buttons and indicators*/ +.cardIndicators, +.listItemIndicators { + right: 0.5em; + top: 0.5em; +} + +.mediaSourceIndicator { + left: 0.5em; + top: 0.5em; +} + +@media all and (min-width: 70em){ + .cardOverlayFab-primary { + background-color: #00000000; + } + .cardOverlayButtonIcon { + background-color: #00000000 !important; + } + .cardOverlayContainer { + background-color: rgba(0, 0, 0, 0.7); + } +} +/* Play button hovering (for low width windows) */ +@media all and (max-width: 70em){ + .cardOverlayFab-primary { + background-color: #00000000; + } + .cardOverlayButtonIcon { + background-color: #00000000 !important; + } + .cardOverlayContainer { + background-color: rgba(0, 0, 0, 0.7); + } + .cardOverlayButton { + padding: 0.25em; + } +} + +/*Media player*/ +.nowPlayingPageImage { + border: none; +} + +.upNextDialog-countdownText { + color: white; +} + +/*Shrink the mouseover chapter image when scrobbling, still media player*/ +.chapterThumb { + height: 14vh; + min-width: 14vh; + box-shadow: 0 0 1.9vh #000; +} +.chapterThumbText { + font-size: 1em; +} +.sliderBubble { + background: #0000; +} +.chapterThumbTextContainer { + right: auto; + bottom: 4px; + padding: .25em 0.7em; +} +.chapterThumbContainer { + box-shadow: 0 0 1.9vh #000; +} +.sliderBubble { + -webkit-transform: translate3d(-50%,-108%,0); + transform: translate3d(-50%,-108%,0); +} + +/*Narrow margins, theme main page*/ +.cardBox-bottompadded { + margin-bottom: 0.6em !important; +} +.itemsContainer > .card > .cardBox { + margin-right: 0.8em; +} +.raised.homeLibraryButton { + background: rgba(0, 0, 0, 0.3) !important; +} +.raised.homeLibraryButton:hover { + background: rgba(0, 0, 0, 0.5) !important; +} +.raised.homeLibraryButton:hover {transition: filter 0.2s} +.raised.homeLibraryButton {transition: filter 0.2s} +.homeLibraryButton { + min-width: 12em; + margin: 0.4em; +} +@media all and (max-width: 26em){ + .homeLibraryButton { + min-width: 45%; + width: auto !important; + } +} +.homeLibraryButton { + width: auto !important; +} +.listItem:hover { + transition: 0.2s; + background: rgba(0, 0, 0, 0.4); +} +.visualCardBox, .cardImageContainer { + box-shadow: none; +} +.backgroundProgress > div { + background: rgba(0, 0, 0, 0); +} +.itemProgressBar { + background: rgba(0, 0, 0, 0.25); +} +#divRunningTasks span { + color: rgba(255,255,255,0.75) !important; +} +.itemsContainer > .card > .cardBox { + margin-left: 0.6em !important; +} +.itemsContainer > .card > .cardBox { + margin-right: 0.8em; +} + +/*ANIMATIONS*/ +/*Hover background for section title buttons*/ +.button-flat:hover { + background: rgba(0, 164, 220, 0.2); + color: #00a4dc !important; +} +.dashboardSection h3 { + margin: .5em .0em .5em .5em; +} +.dashboardSection .sectionTitleTextButton > .material-icons.material-icons { + margin-top: .5em; + margin-bottom: .5em; + margin-right: .2em; +} + +/*Rating star, normally yellow*/ +.starIcon { + color: rgba(255,255,255,.8); +} + +/*Remove background on some icons*/ +.listItemIcon { + background: #0000 !important; +} + +/*Remove divider on list items*/ +.listItem-border { + border-color: rgba(255, 255, 255, 0) !important; +} + +/*Fix footers/headers displaying on small pop-ups*/ +.formDialogFooter-clear, +.formDialogHeader-clear, +.innerCardFooterClear { + background-color: transparent !important; +} + +/*Theme slider marker style*/ +.sliderMarker { + width: 3px; + border-radius: 2px; +} \ No newline at end of file diff --git a/inst01/dark_withaccent.css b/inst01/dark_withaccent.css new file mode 100644 index 0000000..103cc7a --- /dev/null +++ b/inst01/dark_withaccent.css @@ -0,0 +1,411 @@ +/*This file contains color and style changes for the dark theme type*/ +:root {--accent: 255, 255, 255;} +:root {--selection: 120, 120, 120;} + +.backgroundContainer.withBackdrop { + background-color: rgba(0, 0, 0, 0); +} + +/*Some themeing for the dashboard*/ + +#user_usage_report_table, +.detailTable { + background: rgba(0,0,0,.5); +} +.detailTableBodyRow-shaded { + background: #0000 !important; +} + +.infoBanner { + background: #101010; +} +.navMenuOptionText { + margin-top: 0; +} +.backgroundProgress > div { + background-color: #0000; +} + +.visualCardBox, .cardImageContainer { + box-shadow: none; +} + +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__track { + background: rgba(120, 120, 120, 0.6); +} +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { + background: white; +} + +.dashboardSection h3 { + margin-left: 0.5em; +} +.sessionCardFooter { + border: none; +} +.paperList, +.visualCardBox { + background-color: rgba(0, 0, 0, 0.5); +} +.listItem-border { + border-color: rgba(255, 255, 255, 0) !important; +} +fieldset { + border: 1px solid rgba(40, 40, 40, 0.8); + border-radius: 0.4em; +} + +/*Colors for title_2*/ +.layout-desktop .detailRibbon { + background: rgba(0,0,0,.2) !important; +} +.itemBackdrop::after { + background: rgba(0,0,0,.5) !important; +} + + +/*Homepage modifications, transparent footerplayer and fixed sectiontitles*/ +.appfooter { + background: rgba(0,0,0,0.9); +} +.button-flat:hover { + background: rgba(0,0,0,0.4); +} + +/*Theme the library scan progress bar*/ +progress { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +progress::-webkit-progress-bar { + background: rgba(0, 0, 0, 0.5) !important; + border: 0px solid rgba(255, 255, 255, 0.22); +} +progress::-moz-progress-bar { + background-color: rgba(255,255,255,0.75); +} +progress::-webkit-progress-value { + background-color: rgba(255,255,255,0.75); +} +#divRunningTasks span { + color: rgba(255,255,255,0.75) !important; +} +.taskProgressOuter { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +.taskProgressInner { + background: rgba(255,255,255,0.75) !important; +} +#scheduledTasksPage span { + color: rgba(255,255,255,0.75) !important; +} + +/*Login background*/ +#loginPage { + background: url(https://i.imgur.com/9vL4iNf.png) !important; + background-size: cover !important; +} + +/*Make watched icon, footer on chapter thumnails (and other things), and count indicator dark and transparent*/ +.innerCardFooter, +.countIndicator, +.playedIndicator { + background: rgba(0,0,0,0.4); + box-shadow: none; +} +.countIndicator { + box-shadow: none; +} + +/*Modify subtitle settings page*/ +.subtitleappearance-preview { + background: linear-gradient(140deg,#444,#111) !important; +} + +/*Affects blurhash to remove the saturated colors to fit overall look*/ +.blurhash-canvas { + filter: opacity(60%) saturate(60%); +} + +/*Dash and general UI styling*/ +.navMenuOption-selected, .selectionCommandsPanel { + background: #101010 !important; +} +.mainDrawer { + background-color: rgba(0, 0, 0, 0.8); +} +.raised, +.fab, +a[data-role="button"] { + background: rgba(40, 40, 40, 0.8) !important; + transition: all 0.2s !important; +} +.raised:hover, +.fab:hover, +.navMenuOption:hover, +.actionSheetMenuItem:hover { + background: rgba(80, 80, 80, 0.8) !important; +} +.paper-icon-button-light:hover { + background-color: rgba(0, 0, 0, 0.4) !important; +} +.navMenuOption-selected, +.selectionCommandsPanel { + background: #101010 !important; +} + +.paper-icon-button-light:hover, +.raised.homeLibraryButton:hover, +.button-flat:hover, +.playstatebutton-icon-played, +.ratingbutton-icon-withrating, +.paper-icon-button-light:hover:not(:disabled), +.emby-tab-button:hover, +.selectLabelFocused, +.inputLabelFocused, +.textareaLabelFocused, +.buttonActive, +.button-link{ + color: rgba(120, 120, 120, 0.6) !important; +} +progress { + background: rgba(0, 0, 0, 0.5) !important; +} + +/*Theme syncplay*/ +.syncPlayIconCircle { + color: rgba(255,255,255,1) !important; + text-shadow: none !important; +} + +@-webkit-keyframes pulse { + 0% { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,.3) + } + 70% { + -webkit-transform:scale(1); + transform:scale(1); + color:rgba(0,0,0,.6); + background:rgba(0,0,0,0); + box-shadow:0 0 0 60px rgba(0,0,0,0) + } + to { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,0) + } +} +@keyframes pulse { + 0% { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,.3) + } + 70% { + -webkit-transform:scale(1); + transform:scale(1); + color:rgba(0,0,0,.6); + background:rgba(0,0,0,0); + box-shadow:0 0 0 60px rgba(0,0,0,0) + } + to { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,0) + } +} +@-webkit-keyframes infinite-pulse { + 0% { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,.3) + } + 70% { + -webkit-transform:scale(1); + transform:scale(1); + color:rgba(0,0,0,.6); + background:rgba(0,0,0,0); + box-shadow:0 0 0 60px rgba(0,0,0,0) + } + to { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,0) + } +} +@keyframes infinite-pulse { + 0% { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,.3) + } + 70% { + -webkit-transform:scale(1); + transform:scale(1); + color:rgba(0,0,0,.6); + background:rgba(0,0,0,0); + box-shadow:0 0 0 60px rgba(0,0,0,0) + } + to { + -webkit-transform:scale(.95); + transform:scale(.95); + color:rgba(0,0,0,.7); + background:rgba(0,0,0,.3); + box-shadow:0 0 0 0 rgba(0,0,0,0) + } +} + +/*Colors for loading spinner, placeholders, scroll bars*/ +.mdl-spinner__layer-1 {border-color: rgba(255, 255, 255, 1);} +.mdl-spinner__layer-2 {border-color: rgba(128, 128, 128, 1);} +.mdl-spinner__layer-3 {border-color: rgba(40, 40, 40, 1);} +.mdl-spinner__layer-4 {border-color: rgba(0, 0, 0, 1);} + +::-webkit-scrollbar-track-piece { + background-color: #0000; +} +::-webkit-scrollbar-corner { + background-color: #0000; +} +::-webkit-scrollbar-thumb { + background: rgba(120,120,120,0.6) !important; + border-radius: var(--rounding); +} + +* { + scrollbar-color: rgba(120,120,120,0.6) #0000 !important; +} + +.defaultCardBackground1 { + background-color: #0a0a0a; +} +.defaultCardBackground2 { + background-color: #141414; +} +.defaultCardBackground3 { + background-color: #212121; +} +.defaultCardBackground4 { + background-color: #333333; +} +.defaultCardBackground5 { + background-color: #666666; +} + +.raised:hover, +.fab:hover, +a[data-role="button"]:hover { + background: rgba(var(--accent),0.5) !important; +} + +.subtitleappearance-preview { + background: linear-gradient(140deg,rgb(var(--accent)),#111) !important; +} + +.navMenuOption-selected { + color: rgba(var(--accent)); +} +.mdl-slider-background-lower { + background-color: rgba(var(--accent)); +} + +.playbackProgress>div { + background-color: rgba(var(--accent),0.75); +} +progress::-moz-progress-bar { + background-color: rgba(var(--accent),0.75); +} +progress::-webkit-progress-value { + background-color: rgba(var(--accent),0.75); +} +.taskProgressInner { + background: rgba(var(--accent),0.75) !important; +} + +.transcodingProgress>div, +.itemProgressBarForeground { + background-color: rgba(var(--accent),0.35); +} + +.mdl-slider-background-lower { + background-color: rgb(var(--accent)); +} +.mdl-slider::-moz-range-thumb { + background: rgb(var(--accent)); +} +.mdl-slider::-ms-thumb { + background: rgb(var(--accent)); +} +.mdl-slider::-webkit-slider-thumb { + background: rgb(var(--accent)); +} +.iconOsdProgressInner { + background: rgb(var(--accent)); +} + +.paper-icon-button-light:hover, +.raised.homeLibraryButton:hover, +.button-flat:hover, +.playstatebutton-icon-played, +.ratingbutton-icon-withrating, +.paper-icon-button-light:hover:not(:disabled), +.emby-tab-button:hover, +.selectLabelFocused, +.inputLabelFocused, +.textareaLabelFocused, +.buttonActive, +.button-link { + color: rgba(var(--accent)) !important; +} + +#itemDetailPage .button-link {color: inherit !important;} + +.navMenuOption:hover, +.actionSheetMenuItem:hover { + background-color: rgba(var(--accent),0.5) !important; +} + +.upNextDialog-countdownText { + color: rgba(var(--accent)); +} + +.mdl-spinner__layer-1 { + border-color: rgba(var(--accent)); +} +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__track { + background: rgba(var(--accent), 0.5); +} +.mdl-switch__input:checked + .mdl-switch__label + .mdl-switch__trackContainer > .mdl-switch__thumb { + background: rgba(var(--accent)); +} + +::-webkit-scrollbar-thumb { + background: rgba(var(--accent),0.8) !important; +} +* { + scrollbar-color: rgba(var(--accent),0.8) #0000 !important; +} + + +/* Syncplay theming*/ +.syncPlayIconCircle { + color: rgba(var(--accent),1) !important; + text-shadow: none !important; +} \ No newline at end of file diff --git a/inst01/episodes_compactlist.css b/inst01/episodes_compactlist.css new file mode 100644 index 0000000..814a55c --- /dev/null +++ b/inst01/episodes_compactlist.css @@ -0,0 +1,41 @@ +/*Size episode preview images in a more compact way*/ +.listItemImage.listItemImage-large.itemAction.lazy { + transition: filter 0.2s +} +.listItemImageButton-icon { + padding: 0; +} +.secondary.listItem-overview.listItemBodyText { + height: unset !important; + margin: 0; +} +.listItemImageButton { + margin: auto; + font-size: 1.6em !important; +} +@media all and (min-width: 100em){ + .listItemImage.listItemImage-large.itemAction.lazy { + height: 160px !important; + } + .listItem-content { + height: unset !important; + } + .secondary.listItem-overview.listItemBodyText { + height: unset !important; + margin: 0; + } +} +@media all and (max-width: 100em){ + .listItemImage.listItemImage-large.itemAction.lazy {height: 160px !important;} + .listItem-content {height: unset !important;} + .secondary.listItem-overview.listItemBodyText {height: unset !important; margin: 0;} +} + +.missingIndicator, .unairedIndicator { + background: #ae3030eb; + padding: .3em .6em; + color: #fff; +} +.layout-mobile .listItemImageButton { + background: rgba(0, 0, 0, 0); +} \ No newline at end of file diff --git a/inst01/fields_border.css b/inst01/fields_border.css new file mode 100644 index 0000000..10233e2 --- /dev/null +++ b/inst01/fields_border.css @@ -0,0 +1,63 @@ +/*Tweak entry fields, checkmarks, thin borders dark highlight*/ +.emby-input, +.emby-textarea { + padding: .4em .55em; +} +.emby-select { + padding: .35em 1.9em .35em .35em; +} +.selectArrow { + margin-top: 1.05em; +} +.checkboxOutline, +.emby-input, +.emby-textarea, +.emby-select-withcolor { + background: rgba(0, 0, 0, 0.2); + border: 0.01em solid rgba(255, 255, 255, 0.22); +} +.emby-input:focus, +.emby-textarea:focus, +.emby-select-withcolor:focus { + background: rgba(0, 0 , 0, 0.4) !important; +} + +.emby-textarea:focus, +.emby-select-withcolor:focus, +.emby-input:focus, +.itemSelectionPanel { + border: 0.01em solid rgba(var(--selection), 0.8) !important; +} +.emby-checkbox:checked + span + .checkboxOutline { + background-color: rgba(0, 0 , 0, 0.4) !important; + border: 0.01em solid rgba(var(--selection), 0.8) !important; +} + +/*Theme the library scan progress bar*/ +progress { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +progress::-webkit-progress-bar { + background: rgba(0, 0, 0, 0.5) !important; + border: 0px solid rgba(255, 255, 255, 0.22); +} +progress::-moz-progress-bar { + background-color: rgba(255,255,255,0.75); +} +progress::-webkit-progress-value { + background-color: rgba(255,255,255,0.75); +} +#divRunningTasks span { + color: rgba(255,255,255,0.75) !important; +} +.taskProgressOuter { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +.taskProgressInner { + background: rgba(255,255,255,0.75) !important; +} +#scheduledTasksPage span { + color: rgba(255,255,255,0.75) !important; +} \ No newline at end of file diff --git a/inst01/fixes.css b/inst01/fixes.css new file mode 100644 index 0000000..b7f0df1 --- /dev/null +++ b/inst01/fixes.css @@ -0,0 +1,128 @@ +/*Enlarge button row on item page, even more on mobile*/ +.mainDetailButtons { + font-size: 120%; +} + +/*Add fixes, start of file*/ +@media all and (min-width: 100em){ + .button-flat { + margin: .2em !important; + padding: .85em !important; + } +} +@media all and (max-width: 100em){ + .mainDetailButtons { + font-size: 155%; + } + .detailButton { + max-width: 15vw !important; + } +} + +/*Media player*/ +.startTimeText, .endTimeText { + width: 3.4em; + display: block; + text-align: center; +} +.osdTitle { + margin-left: 0.5em; +} + +.videoOsdBottom { + padding-top: 1em; +} + +.skinHeader-withBackground.osdHeader { + height: 5em; +} + +/*Accommodate ultrawide aspect ratios*/ +@media (min-aspect-ratio: 1.98/1) { + .detailImageContainer .card { + width: 21vw !important ; + } + .detailPagePrimaryContainer { + padding-left: 28.45vw !important; + } + .detailPageContent { + padding-left: 28.45vw !important; + } +} +@media (min-aspect-ratio: 2.7/1) { + .detailImageContainer .card { + width: 16vw !important; + } + .detailPagePrimaryContainer { + padding-left: 23.45vw !important; + } + .detailPageContent { + padding-left: 23.45vw !important; + } +} + +/*Tweak entry field padding and alignment/sizes*/ +.emby-input, +.emby-textarea { + padding: .4em .55em; +} +.emby-select { + padding: .35em 1.9em .35em .35em; +} +.selectArrow { + margin-top: 1.05em; +} + +/*Fix weird shevron off centering*/ +.layout-mobile :not(.sectionTitleContainer-cards)>.sectionTitle-cards { + padding-top:0em; +} +.sectionTitle { + margin-left: .4em !important; + margin-top: .2em !important; + margin-bottom: .2em !important; +} +.sectionTitleTextButton > .material-icons { + margin: 0; +} +.layout-mobile .sectionTitleTextButton > .material-icons { + padding-top: .2em; +} + +/*Fix the UI shifting around*/ +.nowPlayingBarCurrentTime { + width: 6em; +} +.osdTextContainer { + margin: 0 !important; + margin-top: 0.2em !important; + padding-left: 0.5em !important; + padding-right: 0.5em !important; +} + +/*Fix top right user icon when using a profile image*/ +.headerUserButtonRound { + border-radius: 50px !important; +} + +/*Improve some menu alignments*/ +.navMenuOptionText { + margin-top: 0; +} +.formDialogHeaderTitle { + margin-left: 1em; +} +.formDialogContent { + margin-bottom: 6.2em; +} +.dialogContentInner { + padding: .5em 1em 1em; + padding-right: 1em; + padding-left: 1em; +} +.listItem-indexnumberleft { + margin: 1em; +} +.listItem { + padding-left: 1em; +} \ No newline at end of file diff --git a/inst01/glassy.css b/inst01/glassy.css new file mode 100644 index 0000000..8b108d8 --- /dev/null +++ b/inst01/glassy.css @@ -0,0 +1,29 @@ +@supports (backdrop-filter: blur(15px)) { + .skinHeader-withBackground, + .css-fknfom { + backdrop-filter: blur(15px); + } + .dialog, + .mainDrawer, + .toast, + .appfooter { + backdrop-filter: blur(15px); + background-color: rgba(0, 0, 0, 0.35); + } + .paper-icon-button-light:hover, + #itemDetailPage .itemProgressBar, + #dashboardPage .backgroundProgress > div { + backdrop-filter: blur(4px); + } + @media all and (max-width: 70em){ + .cardOverlayButtonIcon { + background-color: rgba(0, 0, 0, 0.35) !important; + } + .cardOverlayButtonIcon { + backdrop-filter: blur(4px); + } + } + .indicator { + backdrop-filter: blur(2px); + } +} \ No newline at end of file diff --git a/inst01/header_transparent.css b/inst01/header_transparent.css new file mode 100644 index 0000000..715c81c --- /dev/null +++ b/inst01/header_transparent.css @@ -0,0 +1,32 @@ +.skinHeader-withBackground { + background-color: transparent; +} + +/*Pages the have single unit height taskbar*/ +@media all and (min-width: 100em){ + #indexPage, + #moviesPage, + #tvRecommendedPage, + #musicRecommendedPage { + margin-top: 68px; + padding-top: 0px !important; + overflow-y: scroll; + } +} + +/*Pages the have two unit height taskbar*/ +@media all and (max-width: 100em){ + #indexPage, + #moviesPage, + #tvRecommendedPage, + #musicRecommendedPage { + margin-top: 130px; + padding-top: 0.5em !important; + overflow-y: scroll; + } +} + +.force-scroll { + overflow-y: auto; + overflow-x: auto; +} \ No newline at end of file diff --git a/inst01/indicator_floating.css b/inst01/indicator_floating.css new file mode 100644 index 0000000..8f1a2f0 --- /dev/null +++ b/inst01/indicator_floating.css @@ -0,0 +1,19 @@ +/*Card indicators style normal*/ +.innerCardFooter { + margin: .5em; +} + +.countIndicator { + background: rgba(var(--indicator),0.8); + box-shadow: none; +} +.playedIndicator, .innerCardFooter { + background: rgba(0,0,0,0.4); + box-shadow: none; +} + +.mediaSourceIndicator { + background: rgba(0,0,0,0.4); + box-shadow: none; + border-radius: var(--rounding); +} \ No newline at end of file diff --git a/inst01/jf_font.css b/inst01/jf_font.css new file mode 100644 index 0000000..a13e9f0 --- /dev/null +++ b/inst01/jf_font.css @@ -0,0 +1,8 @@ +@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap'); body, h1, h2, h3, h4 { + font-family: 'Plus Jakarta Sans', sans-serif; +} + +.emby-textarea { + font-family: monospace; + font-size: 10pt; +} \ No newline at end of file diff --git a/inst01/login_minimalistic.css b/inst01/login_minimalistic.css new file mode 100644 index 0000000..10233e2 --- /dev/null +++ b/inst01/login_minimalistic.css @@ -0,0 +1,63 @@ +/*Tweak entry fields, checkmarks, thin borders dark highlight*/ +.emby-input, +.emby-textarea { + padding: .4em .55em; +} +.emby-select { + padding: .35em 1.9em .35em .35em; +} +.selectArrow { + margin-top: 1.05em; +} +.checkboxOutline, +.emby-input, +.emby-textarea, +.emby-select-withcolor { + background: rgba(0, 0, 0, 0.2); + border: 0.01em solid rgba(255, 255, 255, 0.22); +} +.emby-input:focus, +.emby-textarea:focus, +.emby-select-withcolor:focus { + background: rgba(0, 0 , 0, 0.4) !important; +} + +.emby-textarea:focus, +.emby-select-withcolor:focus, +.emby-input:focus, +.itemSelectionPanel { + border: 0.01em solid rgba(var(--selection), 0.8) !important; +} +.emby-checkbox:checked + span + .checkboxOutline { + background-color: rgba(0, 0 , 0, 0.4) !important; + border: 0.01em solid rgba(var(--selection), 0.8) !important; +} + +/*Theme the library scan progress bar*/ +progress { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +progress::-webkit-progress-bar { + background: rgba(0, 0, 0, 0.5) !important; + border: 0px solid rgba(255, 255, 255, 0.22); +} +progress::-moz-progress-bar { + background-color: rgba(255,255,255,0.75); +} +progress::-webkit-progress-value { + background-color: rgba(255,255,255,0.75); +} +#divRunningTasks span { + color: rgba(255,255,255,0.75) !important; +} +.taskProgressOuter { + background: rgba(0, 0, 0, 0.5) !important; + border: 1px solid rgba(255, 255, 255, 0.22); +} +.taskProgressInner { + background: rgba(255,255,255,0.75) !important; +} +#scheduledTasksPage span { + color: rgba(255,255,255,0.75) !important; +} \ No newline at end of file diff --git a/inst01/overlayprogress.css b/inst01/overlayprogress.css new file mode 100644 index 0000000..9891cb0 --- /dev/null +++ b/inst01/overlayprogress.css @@ -0,0 +1,16 @@ +#itemDetailPage .itemProgressBar, +#indexPage .itemProgressBar { + height: 2000em; + background: #0000; +} +.innerCardFooter.fullInnerCardFooter.innerCardFooterClear { + background: rgba(0,0,0,0); + right: 0; + left: 0; + top: 0; + bottom: 0; + margin: 0; +} +.itemProgressBarForeground { + background-color: rgba(var(--accent), 0.35); +} \ No newline at end of file diff --git a/inst01/pan-animation.css b/inst01/pan-animation.css new file mode 100644 index 0000000..fb44cb8 --- /dev/null +++ b/inst01/pan-animation.css @@ -0,0 +1,59 @@ +@keyframes backgroundScroll { + 0% { + background-position: 99% 1%; opacity: 0; + } + 2% { + opacity: 1; + } + 20% { + background-position: 1% 50%; + } + 40% { + background-position: 99% 99%; + } + 60% { + background-position: 1% 1%; + } + 80% { + background-position: 50% 99%; + } + 100% { + background-position: 99% 1%; + } +} + + +@keyframes backgroundScrollmob { + 0% { + background-position: 99% 1%; opacity: 0; + } + 12% { + opacity: 1; + } + 88% { + opacity: 1; + } + 100% { + background-position: 50% 50%; opacity: 0; + } +} + + + +@media all and (min-width: 100em){ + .backdropImage { + background-size: 150% 150%; + background-position: 99% 1%; + animation: backgroundScroll 630s ease; + animation-iteration-count: infinite; + } +} + +@media all and (max-width: 100em){ + .backdropImage { + /*background-size: 150% 150%;*/ + background-position: 99% 1%; + animation: backgroundScrollmob 25s ease; + animation-iteration-count: infinite; + } +} \ No newline at end of file diff --git a/inst01/rounding.css b/inst01/rounding.css new file mode 100644 index 0000000..aa7cb05 --- /dev/null +++ b/inst01/rounding.css @@ -0,0 +1,113 @@ +/*Rounded corners on pretty much everything*/ + +progress { + border-radius: var(--rounding); +} +progress::-webkit-progress-bar { + border-radius: var(--rounding); +} +progress::-moz-progress-bar { + border-radius: var(--rounding); +} +progress::-webkit-progress-value { + border-radius: var(--rounding); +} +.taskProgressOuter, +.taskProgressInner { + border-radius: var(--rounding) !important; +} +.formDialogHeader { + border-top-left-radius: var(--rounding); + border-top-right-radius: var(--rounding); +} +.formDialogFooter { + border-bottom-left-radius: var(--rounding); + border-bottom-right-radius: var(--rounding); +} +.cardOverlayContainer { + border-radius: var(--rounding) !important; +} +.missingIndicator, +.unairedIndicator, +.detailTable, +.primaryImageWrapper > img, +.toast, +.paperList, +.cardContent, +.sessionNowPlayingInnerContent, +.listItem:hover, +.cardImage, +.fab, +.raised, +.multiSelectCheckboxOutline, +.itemSelectionPanel, +.cardContent-button, +.cardContent-shadow, +.itemDetailImage, +.cardOverlayButton-hover, +.cardImageContainer, +.cardPadder, +.listItemImage, +.listItemImageButton, +.listItemButton, +.headerButton, +.paper-icon-button-light, +.innerCardFooter, +.blurhash-canvas, +.dialog, +.countIndicator, +.playedIndicator, +.listItemIcon, +.listItem-border, +.button-flat, +.visualCardBox, +.checkboxOutline, +.emby-select-withcolor, +.chapterThumbTextContainer, +.chapterThumbContainer, +.chapterThumb, +.emby-input, +.emby-textarea, +.emby-select-withcolor, +.nowPlayingPageImage, +.upNextDialog-poster-img, +.upNextContainer, +.cardOverlayButtonIcon { + border-radius: var(--rounding) !important; +} +.actionSheetMenuItem:hover { + border-radius: 0 !important; +} +fieldset { + border-radius: var(--rounding); +} +.osdPoster img { + border-radius: var(--rounding); border: none; +} +.mdl-slider::-moz-range-thumb { + border-radius: var(--rounding); +} +.mdl-slider::-ms-thumb { + border-radius: var(--rounding); +} +.mdl-slider::-webkit-slider-thumb { + border-radius: var(--rounding); +} + +div[data-role="controlgroup"] a[data-role="button"]:first-child { + border-bottom-left-radius: var(--rounding); + border-top-left-radius: var(--rounding); +} +div[data-role="controlgroup"] a[data-role="button"]:last-child { + border-bottom-right-radius: var(--rounding); + border-top-right-radius: var(--rounding); +} +#dashboardPage .cardContent, #dashboardPage .sessionNowPlayingInnerContent { + border-radius: var(--rounding) var(--rounding) 0 0 !important; +} +#divVirtualFolders .cardImageContainer, #divVirtualFolders .cardContent { + border-radius: var(--rounding) var(--rounding) 0 0 !important; +} +#userProfilesPage .cardImage, #userProfilesPage .cardContent { + border-radius: var(--rounding) var(--rounding) 0 0 !important; +} \ No newline at end of file diff --git a/inst01/smallercast.css b/inst01/smallercast.css new file mode 100644 index 0000000..f10426d --- /dev/null +++ b/inst01/smallercast.css @@ -0,0 +1,116 @@ +/*Shrink and square (or round) cast thumnails*/ +@media all and (min-width: 131.25em){ + #castContent .card.overflowPortraitCard { + width: 6.3vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 120em) and (max-width: 131.25em){ + #castContent .card.overflowPortraitCard { + width: 6.4vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 100em) and (max-width: 120em){ + #castContent .card.overflowPortraitCard { + width: 7.6vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 87.5em) and (max-width: 100em){ + #castContent .card.overflowPortraitCard { + width: 9.3vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 75em) and (max-width: 87.5em){ + #castContent .card.overflowPortraitCard { + width: 10.5vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 50em) and (max-width: 75em){ + #castContent .card.overflowPortraitCard { + width: 15vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 43.75em) and (max-width: 50em){ + #castContent .card.overflowPortraitCard { + width: 20.1vw !important; + font-size: 90% !important; + } +} +@media all and (min-width: 25em) and (max-width: 43.75em){ + #castContent .card.overflowPortraitCard { + width: 31.2vw !important; + font-size: 90% !important; + } +} +@media all and (max-width: 25em){ + #castContent .card.overflowPortraitCard { + width: 40vw !important; + font-size: 90% !important; + } +} + +.cardPadder { + background-color: #0000 !important; box-shadow: none !important; +} + +/*Correct image aspect ratio behaviour, set border-radius to zero for square tiles*/ + +@media all and (min-width: 131.25em){ + #castContent .cardScalable { + width: calc(6.3vw - 0.6em) !important; + height: calc(6.3vw - 0.6em) !important; + } +} +@media all and (min-width: 120em) and (max-width: 131.25em){ + #castContent .cardScalable { + width: calc(6.4vw - 0.6em) !important; + height: calc(6.4vw - 0.6em) !important; + } +} +@media all and (min-width: 100em) and (max-width: 120em){ + #castContent .cardScalable { + width: calc(7.6vw - 0.6em) !important; + height: calc(7.6vw - 0.6em) !important; + } +} +@media all and (min-width: 87.5em) and (max-width: 100em){ + #castContent .cardScalable { + width: calc(9.3vw - 0.6em) !important; + height: calc(9.3vw - 0.6em) !important; + } +} +@media all and (min-width: 75em) and (max-width: 87.5em){ + #castContent .cardScalable { + width: calc(10.5vw - 0.6em) !important; + height: calc(10.5vw - 0.6em) !important; + } +} +@media all and (min-width: 50em) and (max-width: 75em){ + #castContent .cardScalable { + width: calc(15vw - 0.6em) !important; + height: calc(15vw - 0.6em) !important; + } +} +@media all and (min-width: 43.75em) and (max-width: 50em){ + #castContent .cardScalable { + width: calc(20.1vw - 0.6em) !important; + height: calc(20.1vw - 0.6em) !important; + } +} +@media all and (min-width: 25em) and (max-width: 43.75em){ + #castContent .cardScalable { + width: calc(31.2vw - 0.6em) !important; + height: calc(31.2vw - 0.6em) !important; + } +} +@media all and (max-width: 25em){ + #castContent .cardScalable { + width: calc(40vw - 0.6em) !important; + height: calc(40vw - 0.6em) !important; + } +} \ No newline at end of file diff --git a/inst01/title_simple.css b/inst01/title_simple.css new file mode 100644 index 0000000..54e84da --- /dev/null +++ b/inst01/title_simple.css @@ -0,0 +1,25 @@ +/*Tweak series/movie/album title screen*/ + +.detailSectionContent { + max-width: 66em; +} +.trackSelections { + max-width: 22em; +} +.detailLogo { + display: none; +} +.detailPagePrimaryContainer { + background: rgba(0,0,0,0) !important; +} +.layout-desktop .detailRibbon { + background: rgba(0,0,0,0) !important; +} +@media all and (min-width: 32em){ + .itemBackdrop { + display: none; + } + .layout-desktop .detailRibbon { + margin-top: 13vh; + } +} \ No newline at end of file