3 Commits

Author SHA1 Message Date
lscambo13
b218a819da RELEASE: ElegantFin v25.11.25 2025-11-24 22:06:51 +05:30
lscambo13
c4d04e1709 Fix: Optimized performance a bit 2025-11-24 21:04:17 +05:30
lscambo13
c9839f0848 Fix: TYPO!! #205 2025-11-24 19:07:46 +05:30
7 changed files with 4284 additions and 16 deletions

File diff suppressed because one or more lines are too long

View File

@@ -160,10 +160,6 @@
}
html {
--primaryItemPageNegativeSpace: 14vh;
--secondaryItemPageNegativeSpace: 60vh;
--clearLogoBottomSpace: 11em;
font-family: "Inter", sans-serif;
font-optical-sizing: auto;
font-weight: 425;
@@ -171,7 +167,13 @@ html {
-webkit-tap-highlight-color: transparent !important;
}
.layout-desktop:has(.nowPlayingBar:not(.hide)) {
body {
--primaryItemPageNegativeSpace: 14vh;
--secondaryItemPageNegativeSpace: 60vh;
--clearLogoBottomSpace: 11em;
}
.layout-desktop > body:has(> audio[src]) {
--primaryItemPageNegativeSpace: calc(14vh + 5em);
--secondaryItemPageNegativeSpace: calc(60vh + 5em);
}
@@ -181,6 +183,9 @@ html {
--headerColorGradient: var(--headerColorGradientAlt);
--blurLargest: blur(12px);
--headerBlurMask: linear-gradient(180deg, white 60%, 90%, transparent);
}
.layout-mobile > body {
--secondaryItemPageNegativeSpace: 45vh;
}
@@ -398,7 +403,7 @@ html {
background: rgba(255, 255, 255, 0.05);
}
.card-hoverable .cardOverlayContainer:after {
.cardOverlayContainer:after {
content: var(--cardHoverEffect);
transition: 0.5s;
position: absolute;
@@ -500,7 +505,7 @@ html {
color: white;
}
.cardOverlayContainer:has(.cardOverlayButton:hover) {
.cardOverlayContainer:has(> button:hover) {
backdrop-filter: var(--blurDefault);
}
@@ -2886,9 +2891,9 @@ div[data-role="controlgroup"] a.ui-btn-active {
padding-right: var(--sidePadding) !important;
}
.paddded-left {
/* .padded-left {
padding-left: var(--sidePadding) !important;
}
} */
.layout-mobile .padded-right-withalphapicker {
padding-left: 4.5%;
@@ -3880,7 +3885,7 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
}
/* this allows switching between the header styles easily */
#reactRoot > div:nth-of-type(3) {
#reactRoot > div:nth-child(3) {
container-name: skinHeader;
container-type: size;
height: var(--appBarHeight);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,135 @@
/* Add-on: Custom media covers v25.11.25 for the ElegantFin Theme for Jellyfin by lscambo13 */
:root {
/* my media library default covers customizations */
--colorOverlayMoviesCover: rgb(193, 103, 104);
--colorOverlayTvshowsCover: rgb(140, 149, 43);
--colorOverlayLivetvCover: rgb(17, 98, 159);
--colorOverlayPlaylistsCover: rgb(118, 61, 216);
--colorOverlayBoxsetsCover: rgb(219, 180, 53);
--colorOverlayMusicCover: rgb(11, 93, 72);
--colorOverlayHomevideosCover: rgb(39, 90, 185);
--colorOverlayBooksCover: rgb(166, 68, 70);
--colorOverlayFoldersCover: rgb(173, 60, 113);
--colorOverlayMixedCover: rgb(194, 58, 58);
--colorOverlayRecordedmoviesCover: rgb(52, 52, 52);
--colorOverlayRecordedtvCover: rgb(120, 100, 28);
--urlMoviesCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/movies.webp);
--urlTvshowsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/tvshows.webp);
--urlLivetvCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/livetv.webp);
--urlPlaylistsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/playlists.webp);
--urlBoxsetsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/boxsets.webp);
--urlMusicCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/music.webp);
--urlHomevideosCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/homevideos.webp);
--urlBooksCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/books.webp);
--urlFoldersCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/folders.webp);
--urlMixedCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/mixed.webp);
--urlRecordedmoviesCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/recordedmovies.webp);
--urlRecordedtvCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/recordedtv.webp);
}
[data-type="CollectionFolder"] .defaultCardBackground,
[data-type="UserView"] .defaultCardBackground,
[data-type="CollectionFolder"] .cardContent,
[data-type="UserView"] .cardContent {
filter: contrast(0.85);
background-size: cover !important;
background-position: 50% !important;
background-blend-mode: multiply;
}
[data-type="CollectionFolder"] .cardContent::before,
[data-type="UserView"] .cardContent::before {
content: attr(aria-label);
position: absolute;
font-size: clamp(1em, max(2.5vh, 2vw), 2em);
font-weight: 800;
color: white;
font-family: "Noto Sans";
text-align: center;
width: 94%;
white-space: normal;
}
.layout-tv [data-type="CollectionFolder"]::before,
.layout-tv [data-type="UserView"]::before {
content: attr(aria-label);
position: absolute;
display: grid;
align-content: center;
top: 0;
bottom: 0;
font-size: clamp(1em, max(2.5vh, 2vw), 2em);
font-weight: 800;
color: white;
font-family: "Noto Sans";
text-align: center;
width: 94%;
white-space: normal;
z-index: 1;
}
[data-type="CollectionFolder"] .cardImageIcon:not(.quiz)::before,
[data-type="UserView"] .cardImageIcon:not(.quiz)::before {
display: none;
}
[data-collectiontype="movies"] .cardContent {
background-color: var(--colorOverlayMoviesCover) !important;
background-image: var(--urlMoviesCover) !important;
}
[data-collectiontype="tvshows"] .cardContent {
background-color: var(--colorOverlayTvshowsCover) !important;
background-image: var(--urlTvshowsCover) !important;
}
[data-collectiontype="livetv"] .cardContent {
background-color: var(--colorOverlayLivetvCover) !important;
background-image: var(--urlLivetvCover) !important;
}
[data-collectiontype="music"] .cardContent {
background-color: var(--colorOverlayMusicCover) !important;
background-image: var(--urlMusicCover) !important;
}
[data-collectiontype="homevideos"] .cardContent {
background-color: var(--colorOverlayHomevideosCover) !important;
background-image: var(--urlHomevideosCover) !important;
}
[data-collectiontype="books"] .cardContent {
background-color: var(--colorOverlayBooksCover) !important;
background-image: var(--urlBooksCover) !important;
}
[data-collectiontype="boxsets"] .cardContent {
background-color: var(--colorOverlayBoxsetsCover) !important;
background-image: var(--urlBoxsetsCover) !important;
}
[data-collectiontype="folders"] .cardContent {
background-color: var(--colorOverlayFoldersCover) !important;
background-image: var(--urlFoldersCover) !important;
}
[data-collectiontype="playlists"] .cardContent {
background-color: var(--colorOverlayPlaylistsCover) !important;
background-image: var(--urlPlaylistsCover) !important;
}
[data-prefix="MIX"] .cardContent {
background-color: var(--colorOverlayMixedCover) !important;
background-image: var(--urlMixedCover) !important;
}
[data-collectiontype="movies"][data-prefix="REC"] .cardContent {
background-color: var(--colorOverlayRecordedmoviesCover) !important;
background-image: var(--urlRecordedmoviesCover) !important;
}
[data-prefix="REC"] .cardContent {
background-color: var(--colorOverlayRecordedtvCover) !important;
background-image: var(--urlRecordedtvCover) !important;
}

View File

@@ -1,2 +1,2 @@
/* Add-on: Media Bar plugin support v25.08.08 for the ElegantFin Theme for Jellyfin by lscambo13 */
.button-container{align-items:center}.favorite-button{background:none;color:var(--textColor)}.detail-button:hover,.favorite-button:hover{background:var(--dimTextColor);color:black}.play-button::before,.detail-button::before,.favorite-button::before,.favorite-button.favorited::before{font-weight:400}.play-button{font-family:'Inter';font-size:1em;font-weight:500}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));background-color:transparent}.backdrop{transform-origin:center left}.rating-value{flex-wrap:wrap;justify-content:center}.age-rating{font-size:.8em}#slides-container{width:calc(100vw - (2 * var(--sidePadding)));height:60%;top:8em;border:var(--defaultBorder);border-radius:var(--largerRadius);transition:all .125s,border 0s;user-select:none}.layout-tv #slides-container{top:0}.layout-mobile #slides-container{top:10em}.logo-container{top:10vh}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:none;-webkit-mask-image:none}.backdrop-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),40%,transparent)}@media only screen and (max-width:767px) and (orientation:portrait){.button-container{top:calc(50% + 20vh);transform:translateX(-50%) scale(.8)}.info-container{}.tomato-rating{display:none}.dots-container{top:calc(50% + 19vh)}.backdrop{transform-origin:center}}
/* Add-on: Media Bar plugin support v25.11.25 for the ElegantFin Theme for Jellyfin by lscambo13 */
.play-button::before,.detail-button::before,.favorite-button::before,.favorite-button.favorited::before{font-weight:400}.play-button{font-family:"Inter";font-size:1em;font-weight:500}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));background-color:transparent}.backdrop{transform-origin:center left}.rating-value{flex-wrap:wrap;justify-content:center}.age-rating{font-size:.8em}#slides-container{width:calc(100vw - (2 * var(--sidePadding)));height:62%;top:var(--appBarHeight);border:var(--defaultBorder);border-radius:var(--largerRadius);transition:all .125s,border 0s;user-select:none}.logo-container{top:10vh}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:none;-webkit-mask-image:none}.backdrop-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),40%,transparent)}@media only screen and (max-width:767px) and (orientation:portrait){.button-container{top:calc(50% + 20vh);transform:translateX(-50%) scale(.8)}.tomato-rating{display:none}.dots-container{top:calc(50% + 19vh)}.backdrop{transform-origin:center}}@media (min-width:75em){#slides-container{top:calc(.5 * var(--appBarHeight))}}@media only screen and (max-height:767px) and (orientation:landscape){#slides-container{height:57%}.logo-container{top:3%}}@media only screen and (max-width:767px) and (orientation:portrait){.logo-container{top:50%}}

View File

@@ -0,0 +1,103 @@
/* Add-on: Media Bar plugin support v25.11.25 for the ElegantFin Theme for Jellyfin by lscambo13 */
/* this styles the media bar plugin - start */
.play-button::before,
.detail-button::before,
.favorite-button::before,
.favorite-button.favorited::before {
font-weight: 400;
}
.play-button {
font-family: "Inter";
font-size: 1em;
font-weight: 500;
}
.backdrop,
.backdrop-container,
.backdrop-overlay {
mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.85), 70%, rgba(0, 0, 0, 0));
-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.85), 70%, rgba(0, 0, 0, 0));
background-color: transparent;
}
.backdrop {
transform-origin: center left;
}
.rating-value {
flex-wrap: wrap;
justify-content: center;
}
.age-rating {
font-size: 0.8em;
}
#slides-container {
width: calc(100vw - (2 * var(--sidePadding)));
height: 62%;
top: var(--appBarHeight);
border: var(--defaultBorder);
border-radius: var(--largerRadius);
transition: all 0.125s, border 0s;
user-select: none;
}
.logo-container {
top: 10vh;
}
.backdrop,
.backdrop-container,
.backdrop-overlay {
mask-image: none;
-webkit-mask-image: none;
}
.backdrop-overlay {
background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), 40%, transparent);
}
@media only screen and (max-width: 767px) and (orientation: portrait) {
.button-container {
top: calc(50% + 20vh);
transform: translateX(-50%) scale(0.8);
}
.tomato-rating {
display: none;
}
.dots-container {
top: calc(50% + 19vh);
}
.backdrop {
transform-origin: center;
}
}
@media (min-width: 75em) {
#slides-container {
top: calc(0.5 * var(--appBarHeight));
}
}
@media only screen and (max-height: 767px) and (orientation: landscape) {
#slides-container {
height: 57%;
}
.logo-container {
top: 3%;
}
}
@media only screen and (max-width: 767px) and (orientation: portrait) {
.logo-container {
top: 50%;
}
}
/* this styles the media bar plugin - end */