diff --git a/src/apps/dashboard/AppLayout.tsx b/src/apps/dashboard/AppLayout.tsx index b77e5812bc..8567f7eec8 100644 --- a/src/apps/dashboard/AppLayout.tsx +++ b/src/apps/dashboard/AppLayout.tsx @@ -59,7 +59,6 @@ export const Component: FC = () => { { }} > - + option { - color: inherit; - background: #030322d7; -} - -.emby-select-withcolor:focus { - border-color: #ff77f1 !important; -} - -.emby-select-tv-withcolor:focus { - background-color: #ff77f1 !important; - color: #fff !important; -} - -.emby-checkbox:checked + span + .checkboxOutline { - background-color: #030322; - border: 0.14em solid rgb(72, 195, 200); -} - -.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked { - color: rgb(12, 232, 214); -} - -.emby-checkbox:focus + span + .checkboxOutline { - border-color: #ff77f1; -} - -.emby-checkbox:focus:not(:checked) + span + .checkboxOutline { - border: 0.14em solid #ff77f1; -} - -.itemProgressBarForeground { - background-color: rgb(12, 232, 214); -} - -.itemProgressBarForeground-recording { - background-color: #cb272a; -} - -.countIndicator, -.fullSyncIndicator, -.mediaSourceIndicator, -.playedIndicator { - background: rgb(12, 232, 214); -} - -.fullSyncIndicator { - color: #fff; + background-color: $surface; } +/* Translucent drawer surfaces */ .mainDrawer { - color: #f8f8fe; - background: rgba(0, 0, 0, 0.5); + background: $surface; } .drawer-open { background-color: #030322; } -.navMenuOption:hover { - background: rgba(221, 221, 221, 0.068); -} - +/* Selected nav item uses a custom purple */ .navMenuOption-selected { background: #6f0765 !important; - color: #f8f8fe; + color: $text-primary; } +/* Emby button focus uses a distinct light teal (different from primary or secondary) */ .emby-button.show-focus:focus { background: #8ae9c1; - color: #f8f8fe; -} - -.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles svg .mdl-radio__outer-circle, -.mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles svg .mdl-radio__inner-circle { - color: #ff77f1; + color: $text-primary; } +/* Radio button focus-ring circle uses the global default primary, not PH's primary */ .mdl-radio.show-focus .mdl-radio__button:focus + .mdl-radio__circles .mdl-radio__focus-circle { - background: #00a4dc; + background: palette.$primary-main; } -.emby-tab-button { - color: #999; -} - -.emby-tab-button-active { - color: #f8f8fe; -} - -.emby-tab-button.show-focus:focus { - color: #ff77f1; -} - -.emby-tab-button:hover { - color: #ff77f1; -} - -.channelPrograms, -.guide-channelHeaderCell, -.programCell { - border-color: rgba(255, 255, 255, 0.05); -} - -.programCell-sports { - background: #3949ab !important; -} - -.programCell-movie { - background: #5e35b1 !important; -} - -.programCell-kids { - background: #039be5 !important; -} - -.programCell-news { - background: #43a047 !important; +/* Guide date tab — dimmed by default */ +.guide-date-tab-button { + color: rgba(255, 255, 255, 0.3); } .programCell-active { background: rgba(0, 0, 0, 0.4) !important; } -.guide-channelHeaderCell:focus, -.programCell:focus { - background-color: #48c3c8 !important; - color: #fff !important; +/* Select element uses a narrower border than base inputs */ +.emby-select-withcolor { + border-width: 0.07em; } -.guide-programTextIcon { - color: #1e1e1e; - background: #555; +/* Select option uses the dark page colour as background */ +.emby-select-withcolor > option { + background: #030322d7; // $bg-base at 85% opacity } -.guide-headerTimeslots { - color: inherit; +/* Checkbox checked state uses primary teal accent */ +.emby-checkbox:checked + span + .checkboxOutline { + background-color: #030322; + border: 0.14em solid #48c3c8; } -.guide-date-tab-button { - color: #555; - color: rgba(255, 255, 255, 0.3); +.emby-checkbox:checked + span + .checkboxOutline > .checkboxIcon-checked { + color: $teal-bright; } -.guide-date-tab-button.emby-tab-button-active, -.guide-date-tab-button:focus { - color: #ff77f1; +/* Progress bar and playback indicators use bright teal */ +.itemProgressBarForeground { + background-color: $teal-bright; } -.guide-date-tab-button.show-focus:focus { - background-color: #48c3c8; - color: #fff; -} - -.infoBanner { - color: #0e0f2d; - background: #dbe6ff; - padding: 1em; - border-radius: 0.25em; -} - -.ratingbutton-icon-withrating { - color: #c33; +.countIndicator, +.fullSyncIndicator, +.mediaSourceIndicator, +.playedIndicator { + background: $teal-bright; } .downloadbutton-icon-complete, @@ -560,98 +244,38 @@ a[data-role="button"] { color: #4285f4; } -.playstatebutton-icon-played { - color: #c33; -} - +/* buttonActive retains the global default primary blue, not PH's primary */ .buttonActive { - color: #00a4dc !important; -} - -.personCard .cardScalable { - border-radius: 50% !important; - border: 1px solid transparent; -} - -.cardBox:not(.visualCardBox) .cardPadder { - background-color: rgba(0, 0, 0, 0.5); - border-radius: 0.8em; -} - -.cardPadder .cardImageIcon { - color: rgba(0, 0, 0, 0.5); -} - -.card:focus .cardBox.visualCardBox, -.card:focus .cardBox:not(.visualCardBox) .cardScalable { - border-color: #ff77f1 !important; -} - -.card.show-focus:not(.show-animation) .cardBox.visualCardBox, -.card.show-focus:not(.show-animation) .cardBox:not(.visualCardBox) .cardScalable { - border-radius: 1.3em; + color: palette.$primary-main !important; } +/* Custom scrollbar colours */ .layout-desktop, .scrollY { scrollbar-width: thin; scrollbar-color: #888 rgba(59, 59, 59, 0.5); } -::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); +.layout-desktop ::-webkit-scrollbar, +.layout-tv ::-webkit-scrollbar { + height: 1em; } ::-webkit-scrollbar-track-piece { background-color: rgba(59, 59, 59, 0.5); } -.layout-desktop ::-webkit-scrollbar, -.layout-tv ::-webkit-scrollbar { - width: 0.4em; - height: 1em; -} - -::-webkit-scrollbar-thumb:horizontal, -::-webkit-scrollbar-thumb:vertical { - border-radius: 2px; - background: center no-repeat #888; -} - -.timeslotHeaders-desktop::-webkit-scrollbar { - height: 0.7em; +.mediaInfoText { + color: $text-primary; + background: rgba(170, 170, 190, 0.2); } .mediaInfoOfficialRating { border: 0.09em solid #583fa0; - background-color: #dbe6ff; + background-color: $info-background; color: #0e0f2d; } .metadataSidebarIcon { - color: #dbe6ff; -} - -.personCard .overflowPortraitCard { - width: 40vw; -} - -.personCard .coveredImage { - background-position-y: 20%; - border-radius: 50%; -} - -.personCard .cardOverlayContainer { - clip-path: circle(50% at 50% 50%); -} - -.personCard .cardOverlayButton-br { - right: 20%; -} - -.personCard .cardPadder-overflowPortrait, -.personCard .cardPadder-portrait { - padding-bottom: 100%; - contain: strict; - border-radius: 50% !important; + color: $info-background; }