feat: add jellyfin stylesheet
This commit is contained in:
parent
00f953ad32
commit
6384ff9323
1 changed files with 550 additions and 0 deletions
550
styles/jellyfin.css
Normal file
550
styles/jellyfin.css
Normal file
|
@ -0,0 +1,550 @@
|
||||||
|
/*
|
||||||
|
* Based on the jellyfin-web dark theme.css, which is licensed GPL-2.0
|
||||||
|
* https://github.com/jellyfin/jellyfin-web/blob/master/src/themes/dark/theme.css
|
||||||
|
* The colours used are from catppuccin:
|
||||||
|
* https://github.com/catppuccin/catppuccin
|
||||||
|
*/
|
||||||
|
|
||||||
|
:root {
|
||||||
|
/* Colour variables */
|
||||||
|
--base: #1e1e2e;
|
||||||
|
--mauve: #cba6f7;
|
||||||
|
--pink: #f5c2e7;
|
||||||
|
--pink-transp: #f5c2e733;
|
||||||
|
--red: #f38ba8;
|
||||||
|
--blue: #89b4fa;
|
||||||
|
--peach: #fab387;
|
||||||
|
--sky: #89dceb;
|
||||||
|
--green: #a6e3a1;
|
||||||
|
--text: ##cdd6f4;
|
||||||
|
--subtext-1: #bac2de;
|
||||||
|
--subtext-0: #a6adc8;
|
||||||
|
--surface-2: #585b70;
|
||||||
|
--surface-1: #45475a;
|
||||||
|
--surface-0: #313244;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
scrollbar-width: thin;
|
||||||
|
scrollbar-color: #3b3b3b #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skinHeader,
|
||||||
|
html {
|
||||||
|
color: #ddd;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.wizardStartForm,
|
||||||
|
.ui-corner-all,
|
||||||
|
.ui-shadow {
|
||||||
|
background-color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-collapsible-button {
|
||||||
|
border-color: #383838;
|
||||||
|
border-color: rgba(255, 255, 255, 0.135);
|
||||||
|
}
|
||||||
|
|
||||||
|
.skinHeader-withBackground {
|
||||||
|
background-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.skinHeader.semiTransparent {
|
||||||
|
-webkit-backdrop-filter: none !important;
|
||||||
|
backdrop-filter: none !important;
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-tv .skinHeader.semiTransparent {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pageTitleWithDefaultLogo {
|
||||||
|
background-image: url(../../assets/img/banner-light.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-tv .pageTitleWithDefaultLogo {
|
||||||
|
background-image: url(../../assets/img/icon-transparent.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
.backgroundContainer,
|
||||||
|
.dialog,
|
||||||
|
.nowPlayingPlaylist,
|
||||||
|
.nowPlayingContextMenu,
|
||||||
|
html {
|
||||||
|
background-color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backgroundContainer.withBackdrop {
|
||||||
|
background-color: rgba(0, 0, 0, 0.86);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (hover: hover) and (pointer: fine) {
|
||||||
|
.paper-icon-button-light:hover:not(:disabled) {
|
||||||
|
color: var(--mauve);
|
||||||
|
background-color: var(--pink-transp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-icon-button-light:active:not(:disabled) {
|
||||||
|
color: var(--mauve);
|
||||||
|
background-color: var(--pink-transp);
|
||||||
|
}
|
||||||
|
|
||||||
|
.paper-icon-button-light.show-focus:focus {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fab,
|
||||||
|
.raised {
|
||||||
|
background: #303030;
|
||||||
|
color: rgba(255, 255, 255, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fab:focus,
|
||||||
|
.raised:focus {
|
||||||
|
background: #383838;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-submit {
|
||||||
|
background: var(--mauve);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-submit:focus {
|
||||||
|
background: var(--pink);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-delete {
|
||||||
|
background: var(--red);
|
||||||
|
color: rgba(255, 255, 255, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkboxLabel {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkboxListLabel,
|
||||||
|
.inputLabel,
|
||||||
|
.inputLabelUnfocused,
|
||||||
|
.paperListLabel,
|
||||||
|
.textareaLabelUnfocused {
|
||||||
|
color: #bbb;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.inputLabelFocused,
|
||||||
|
.selectLabelFocused,
|
||||||
|
.textareaLabelFocused {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkboxOutline {
|
||||||
|
border-color: currentColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapseContent,
|
||||||
|
.formDialogFooter:not(.formDialogFooter-clear),
|
||||||
|
.formDialogHeader:not(.formDialogHeader-clear),
|
||||||
|
.paperList,
|
||||||
|
.visualCardBox {
|
||||||
|
background-color: #202020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-tv .formDialogFooter:not(.formDialogFooter-clear) {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.defaultCardBackground1 {
|
||||||
|
background-color: var(--surface-0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.defaultCardBackground2 {
|
||||||
|
background-color: var(--surface-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.defaultCardBackground3 {
|
||||||
|
background-color: var(--surface-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.defaultCardBackground4 {
|
||||||
|
background-color: var(--surface-0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.defaultCardBackground5 {
|
||||||
|
background-color: var(--surface-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cardText-secondary,
|
||||||
|
.fieldDescription,
|
||||||
|
.guide-programNameCaret,
|
||||||
|
.listItem .secondary,
|
||||||
|
.nowPlayingBarSecondaryText,
|
||||||
|
.programSecondaryTitle,
|
||||||
|
.secondaryText {
|
||||||
|
color: #999;
|
||||||
|
color: rgba(255, 255, 255, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.actionsheetDivider {
|
||||||
|
background: #444;
|
||||||
|
background: rgba(255, 255, 255, 0.14);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cardFooter-vibrant .cardText-secondary {
|
||||||
|
color: inherit;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toast {
|
||||||
|
background: #303030;
|
||||||
|
color: #fff;
|
||||||
|
color: rgba(255, 255, 255, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
.appfooter,
|
||||||
|
.playlistSectionButton {
|
||||||
|
background: #202020;
|
||||||
|
color: #ccc;
|
||||||
|
color: rgba(255, 255, 255, 0.78);
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemSelectionPanel {
|
||||||
|
border: 1px solid var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.selectionCommandsPanel {
|
||||||
|
background: var(--mauve);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upNextDialog-countdownText {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.alphaPickerButton {
|
||||||
|
color: #999;
|
||||||
|
color: rgba(255, 255, 255, 0.5);
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alphaPickerButton-selected {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alphaPickerButton-tv:focus {
|
||||||
|
background-color: var(--mauve);
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailTableBodyRow-shaded:nth-child(even) {
|
||||||
|
background: #1c1c1c;
|
||||||
|
background: rgba(30, 30, 30, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailRibbon {
|
||||||
|
background: rgba(32, 32, 32, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-tv .detailRibbon {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem-border {
|
||||||
|
border-color: rgba(34, 34, 34, 0.9) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem:focus {
|
||||||
|
background: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.listItem:hover {
|
||||||
|
background: #242424;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progressring-spiner {
|
||||||
|
border-color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-flat:hover {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-link {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mediaInfoText {
|
||||||
|
color: #ddd;
|
||||||
|
background: rgba(170, 170, 190, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-input,
|
||||||
|
.emby-textarea {
|
||||||
|
color: inherit;
|
||||||
|
background: #292929;
|
||||||
|
border: 0.16em solid #292929;
|
||||||
|
-webkit-border-radius: 0.2em;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-input:focus,
|
||||||
|
.emby-textarea:focus {
|
||||||
|
border-color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-select-withcolor {
|
||||||
|
color: inherit;
|
||||||
|
background: #292929;
|
||||||
|
border: 0.07em solid #292929;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-select-withcolor > option {
|
||||||
|
color: inherit;
|
||||||
|
background: #222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-select-withcolor:focus {
|
||||||
|
border-color: var(--mauve) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-select-tv-withcolor:focus {
|
||||||
|
background-color: var(--mauve) !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-checkbox:checked + span + .checkboxOutline {
|
||||||
|
border-color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-checkbox:focus + span + .checkboxOutline {
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-checkbox:checked + span + .checkboxOutline,
|
||||||
|
.itemProgressBarForeground {
|
||||||
|
background-color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-checkbox:focus:not(:checked) + span + .checkboxOutline {
|
||||||
|
border-color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.itemProgressBarForeground-recording {
|
||||||
|
background-color: var(--red);
|
||||||
|
}
|
||||||
|
|
||||||
|
.countIndicator,
|
||||||
|
.fullSyncIndicator,
|
||||||
|
.mediaSourceIndicator,
|
||||||
|
.playedIndicator {
|
||||||
|
background: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fullSyncIndicator {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mainDrawer,
|
||||||
|
.drawer-open {
|
||||||
|
background-color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navMenuOption:hover {
|
||||||
|
background: #252528;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navMenuOption-selected {
|
||||||
|
background: var(--mauve) !important;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-button.show-focus:focus {
|
||||||
|
background: var(--mauve);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-tab-button {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-tab-button-active {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-tab-button.show-focus:focus {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-tab-button:hover {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.channelPrograms,
|
||||||
|
.guide-channelHeaderCell,
|
||||||
|
.programCell {
|
||||||
|
border-color: rgba(255, 255, 255, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.programCell-sports {
|
||||||
|
background: var(--blue) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programCell-movie {
|
||||||
|
background: var(--peach) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programCell-kids {
|
||||||
|
background: var(--sky) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programCell-news {
|
||||||
|
background: var(--green) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.programCell-active {
|
||||||
|
background: #1e1e1e !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-channelHeaderCell:focus,
|
||||||
|
.programCell:focus {
|
||||||
|
background-color: var(--mauve) !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-programTextIcon {
|
||||||
|
color: #1e1e1e;
|
||||||
|
background: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-headerTimeslots {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-date-tab-button {
|
||||||
|
color: #555;
|
||||||
|
color: rgba(255, 255, 255, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-date-tab-button.emby-tab-button-active,
|
||||||
|
.guide-date-tab-button:focus {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.guide-date-tab-button.show-focus:focus {
|
||||||
|
background-color: var(--mauve);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.infoBanner {
|
||||||
|
color: #ddd;
|
||||||
|
background: #111;
|
||||||
|
padding: 1em;
|
||||||
|
-webkit-border-radius: 0.25em;
|
||||||
|
border-radius: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ratingbutton-icon-withrating {
|
||||||
|
color: var(--peach);
|
||||||
|
}
|
||||||
|
|
||||||
|
.downloadbutton-icon-complete,
|
||||||
|
.downloadbutton-icon-on {
|
||||||
|
color: var(--blue);
|
||||||
|
}
|
||||||
|
|
||||||
|
.playstatebutton-icon-played {
|
||||||
|
color: var(--green);
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttonActive {
|
||||||
|
color: var(--mauve) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:focus .cardBox.visualCardBox,
|
||||||
|
.card:focus .cardBox:not(.visualCardBox) .cardScalable {
|
||||||
|
border-color: var(--mauve) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
||||||
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track-piece {
|
||||||
|
background-color: #3b3b3b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-desktop ::-webkit-scrollbar,
|
||||||
|
.layout-tv ::-webkit-scrollbar {
|
||||||
|
width: 0.4em;
|
||||||
|
height: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:horizontal,
|
||||||
|
::-webkit-scrollbar-thumb:vertical {
|
||||||
|
border-radius: 2px;
|
||||||
|
-webkit-border-radius: 2px;
|
||||||
|
background: center no-repeat #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeslotHeaders-desktop::-webkit-scrollbar {
|
||||||
|
height: 0.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metadataSidebarIcon {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-button.detailFloatingButton {
|
||||||
|
background-color: var(--mauve);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout-tv .emby-button.detailFloatingButton:focus {
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
#comicsPlayer,
|
||||||
|
#bookPlayer,
|
||||||
|
#pdfPlayer {
|
||||||
|
background: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
#comicsPlayer .swiper-pagination {
|
||||||
|
background: #101010;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bookPlayer .topButtons {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#comicsPlayer .actionButtonIcon,
|
||||||
|
#pdfPlayer .actionButtonIcon {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dialogToc {
|
||||||
|
background-color: #101010;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dialogToc .bookplayerButtonIcon {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dialogToc .bookplayerButtonIcon:hover {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
||||||
|
|
||||||
|
#dialogToc .toc li a:link {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dialogToc .toc li a:active,
|
||||||
|
#dialogToc .toc li a:hover {
|
||||||
|
color: var(--mauve);
|
||||||
|
}
|
Loading…
Reference in a new issue