25 Commits

Author SHA1 Message Date
lscambo13
1571e301e0 New: Allowed clear logos to be visible on older browsers 2025-09-12 08:08:25 -07:00
lscambo13
ea12292a77 New: Allowed desktop users to configure how much of the backdrop is cropped from the top
Fix: Frosted effect on page backdrops had stopped working on mobile
2025-09-12 07:57:11 -07:00
lscambo13
4a045ef8c9 Fix: Removed the bottom border from the last row in the credits box 2025-09-09 10:31:57 -07:00
lscambo13
8536ee6a90 Fix: Tweaked the app bar frosted effect on mobile and padding on TV 2025-09-09 10:09:09 -07:00
lscambo13
e62de7469c Fix: Posters for recorded live tv programmes were not visible in the media page 2025-09-09 09:14:32 -07:00
lscambo13
5994dde7a1 New: Updated the card placeholder icon color 2025-09-09 09:09:29 -07:00
lscambo13
309abc2dc3 dev: Disabled some trivial fixes for simplicity 2025-08-22 13:19:50 -07:00
lscambo13
72cc664480 New: ElegantFin version number is now also visible in the Settings page for future compatibility and its visibility on TVs
dev: TVs don't have Dashboard settings, so TV users were unable to check the version they were running. Also, in future dashboard theming might not be allowed, so I needed a different place to show the version number for debugging purposes.
2025-08-22 13:04:19 -07:00
lscambo13
10900884e7 Fix: Simplified the way play/resume labels on the play button are rendered to support foreign languages 2025-08-22 12:57:55 -07:00
lscambo13
e47b7813cf Fix: Simplified the way borders are drawn in the media credits table
This eliminates the brief flash of a horizontal line visible when opening a media or cast page on older browsers
Fix: Removed the negative bottom margin I added earlier on plot container to avoid overlaps
2025-08-22 12:52:35 -07:00
lscambo13
07fcd74ccd Fix: Backdrops were too bright/visible on TVs, causing difficulty in text legibility 2025-08-22 12:47:20 -07:00
lscambo13
9d1c26e798 Fix: Cards were misaligned on older browsers
Fix: Some cards had blue focus outline on TVs
2025-08-22 12:44:37 -07:00
lscambo13
9679d8db4d Fix: Prevented the column gap from being applied to the Editor's Choice Plugin 2025-08-19 10:45:45 -07:00
lscambo13
4eb19f2bd3 Fix: Keep the plot expanded on TVs to fix issues with remote navigation 2025-08-19 10:16:59 -07:00
lscambo13
4b8838b1c0 dev: Simplified some selectors 2025-08-19 10:13:21 -07:00
lscambo13
818f755610 New: Updated the README.md with preview videos and images in the customisation section 2025-08-14 12:18:27 -07:00
lscambo13
7372edd10f Fix: Tweaked the Media Bar top position in relation to the app bar height 2025-08-14 11:50:07 -07:00
lscambo13
24afe0f45c dev: Reworked the app bar code to make it more manageable 2025-08-14 10:48:12 -07:00
lscambo13
fb57bffd2f Fix: Positioned the audio and subtitle selection menu closer to the play button on TVs for easier navigation with remote
Fix: Reduced the top padding on pages on TVs
2025-08-14 10:31:36 -07:00
lscambo13
dd4e2b392b Fix: App bar tabs were stick in the expanded state on TVs
Fix: Workaround to prevent these tabs from overlapping buttons on TVs
2025-08-14 10:21:06 -07:00
lscambo13
d5bf3ed7ad Fix: Increased the card sizes on TVs 2025-08-14 10:16:41 -07:00
lscambo13
348495cffb dev: updated the testing environment 2025-08-11 12:23:43 -07:00
lscambo13
025dbd7c1d Fix: Prevented the Custom CSS Box from becoming infinitely long and shifting its position randomly upon interaction 2025-08-11 12:23:03 -07:00
lscambo13
00f14e00dd New: Allow users to easily switch between two App Bar styles using a single var 2025-08-11 12:19:55 -07:00
lscambo13
f9bef351d9 Fix: Fixed the skip intro button alignment according to Jellyfin version 10.10.7 2025-08-08 07:08:45 -07:00
3 changed files with 252 additions and 149 deletions

View File

@@ -118,7 +118,8 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>1. Custom media covers for user media libraries</i></summary>
- [Previews](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md#%EF%B8%8F-presets-modify-these-styles-according-to-your-own-liking)
<img width="640" height="auto" alt="image" src="https://github.com/user-attachments/assets/05eb7cb6-3ac9-444b-8988-9776e0815664" />
- Read more about this experimental add-on [here](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md)
</details>
@@ -126,7 +127,10 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>2. Custom background image for the login page</i></summary>
- [Preview](https://user-images.githubusercontent.com/16425113/129554147-6ac7ba51-43e7-4c8e-ba77-e646a3ef6b12.jpg)
<img width="auto" height="350" alt="image" src="https://github.com/user-attachments/assets/70834545-d1cd-4496-975a-4310030dedd9" />
<img width="auto" height="350" alt="image" src="https://github.com/user-attachments/assets/c3cf2d96-0db0-4acb-bc61-7b08d5445452" />
- To enable the background wallpaper on the login screen, first tick the 'Enable the splash screen' option in your Jellyfin Dashboard below the Custom CSS Box.
- Second, copy and paste the following code at the end in Custom CSS box but don't save yet.
```
@@ -143,6 +147,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>3. Enable extra overlay buttons on cards on desktop</i></summary>
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/cb8479c2-c577-4d54-a567-697f54291a3b" />
- To enable 'Mark Played' and 'Add to Favorites' buttons that show up at the bottom right corner of cards while hovering, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage.
```
:root{
@@ -155,6 +162,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>4. Place the overlay play button at the center of cards on desktop</i></summary>
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/ebde9db6-cd2f-47b5-bdb9-cee1e9852e2e" />
- To bring the mini play button to the center of cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage.
```
:root{
@@ -167,6 +177,8 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>5. Disable the card hover effect on desktop</i></summary>
https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
- To disable the reflection on cards that shows when hovering over them on desktop, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage.
```
:root{
@@ -179,6 +191,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>6. Enable labels below library cards</i></summary>
<img width="640" height="auto" alt="image" src="https://github.com/user-attachments/assets/5999a5de-5134-4b02-94aa-6306768a251c" />
- To enable text labels under the media library cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage.
```
:root{
@@ -191,6 +206,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details>
<summary><i>7. Enable experimental support for the Media Bar plugin</i></summary>
<img width="640" height="auto" alt="image" src="https://github.com/user-attachments/assets/3e88e270-40f9-48ba-8173-f65b94344f8d" />
- ElegantFin does not support any plugins by default, so to to add external support for [this plugin](https://github.com/IAmParadox27/jellyfin-plugin-media-bar), copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage.
```
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/media-bar-plugin-support-latest-min.css");
@@ -201,8 +219,8 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<hr>
### 🆗 Tested on
- Jellyfin Server v10.10.6
- Jellyfin Android App v2.6.2
- Jellyfin Server v10.10.7
- Jellyfin Android App v2.6.3
<hr>

View File

@@ -55,7 +55,7 @@
--backgroundGradient: linear-gradient(0deg, var(--darkerGradientPoint) 35%, var(--lighterGradientPoint));
--cardBackgroundGradient: linear-gradient(0deg, var(--darkerGradientPoint), 25%, var(--lighterGradientPoint));
--headerColorGradient: linear-gradient(180deg, rgba(30, 40, 54, .95) 30%, 55%, transparent 90%);
--headerColorGradientAlt: linear-gradient(180deg, rgba(30, 40, 54, .95), 70%, transparent);
--headerColorGradientAlt: linear-gradient(180deg, rgba(30, 40, 54, 1), 70%, transparent);
--headerBlurMask: linear-gradient(180deg, white 50%, 85%, transparent);
--cardFooterGradient: linear-gradient(0deg, rgb(0 0 0 / 90%), 40%, transparent);
@@ -120,6 +120,14 @@
/* use "" to enable the card hover effect [default];
use none (without quotes) to disable it */
--cardHoverEffect: "";
/* use 5em to enable the fading app bar (seamless);
use 4.6em to get the solid app bar (cleaner with border) */
--appBarHeight: 5em;
/* use 50% to crop the top of the backdrop image slightly (recommended) [default];
use 0% to prevent the cropping from top, or choose between 0% and 100% according to your preference */
--backdropPositionY: 50%;
}
html {
@@ -133,6 +141,9 @@ html {
.layout-mobile {
--itemColumnGap: 0;
--sidePadding: 5%;
--headerColorGradient: var(--headerColorGradientAlt);
--blurLargest: blur(12px);
--headerBlurMask: linear-gradient(180deg, white 60%, 90%, transparent);
}
/* Material Icons Round */
@@ -178,10 +189,15 @@ html {
transition: transform 50ms;
}
#myPreferencesMenuPage>div:after,
.dashboardFooter::after {
content: var(--elegantFinFooterText);
font-size: .8em;
color: #4e4e60;
color: var(--borderColor);
display: inline-grid;
width: -webkit-fill-available;
justify-content: center;
font-weight: 600;
}
::selection {
@@ -192,11 +208,11 @@ html {
color: var(--borderColor);
}
.card {
padding: .375em;
transition: width .5s;
.cardPadder .cardImageIcon {
color: var(--selectorBackgroundColorAlpha);
}
.card:focus .cardBox.visualCardBox,
.card:focus .cardBox:not(.visualCardBox) .cardScalable {
border-color: white !important;
}
@@ -219,11 +235,6 @@ html {
outline: none !important;
}
.card.show-animation:focus>.cardBox {
-webkit-transform: scale(1.125);
transform: scale(1.125);
}
[dir=ltr] .itemsContainer>.card>.cardBox {
margin-left: auto;
margin-right: auto;
@@ -315,34 +326,34 @@ html {
color: var(--borderColor);
}
.card.card-hoverable:hover .cardScalable,
.card.card-hoverable:hover .visualCardBox {
.card-hoverable:hover .cardScalable,
.card-hoverable:hover .visualCardBox {
border-color: white !important;
}
.card.card-hoverable:hover .visualCardBox .cardScalable {
.card-hoverable:hover .visualCardBox .cardScalable {
border-color: var(--darkerBorderColor) !important;
}
.card.card-hoverable:hover .cardImageContainer {
.card-hoverable:hover .cardImageContainer {
transform: scale(1.025);
}
.card.card-hoverable .itemSelectionPanel {
.card-hoverable .itemSelectionPanel {
transition: transform .125s;
}
.card.card-hoverable:hover .cardScalable,
.card.card-hoverable:hover .itemSelectionPanel {
.card-hoverable:hover .cardScalable,
.card-hoverable:hover .itemSelectionPanel {
transform: scale(1.02);
}
.card.card-hoverable .cardScalable:active {
.card-hoverable .cardScalable:active {
transition: transform .075s;
transform: scale(1);
}
.cardScalable:has(.cardOverlayButton:hover)>.cardImageContainer {
.cardScalable:has(.cardOverlayButton-hover:hover)>.cardImageContainer {
transform: scale(1);
}
@@ -351,7 +362,7 @@ html {
background: rgba(255, 255, 255, .05);
}
.card.card-hoverable .cardOverlayContainer:after {
.card-hoverable .cardOverlayContainer:after {
content: var(--cardHoverEffect);
transition: .5s;
position: absolute;
@@ -363,7 +374,7 @@ html {
background: var(--hoverGradientV);
}
.card.card-hoverable:hover .cardOverlayContainer:after {
.card-hoverable:hover .cardOverlayContainer:after {
transform: translateY(50%) translateX(0);
opacity: 0;
}
@@ -410,7 +421,7 @@ html {
color: white;
}
.layout-desktop .cardOverlayButton-br button[data-action="menu"],
.cardOverlayButton-br .cardOverlayButton-hover[data-action="menu"],
.layout-desktop .listItemButton[data-action="menu"] {
display: none;
}
@@ -701,6 +712,13 @@ html {
--cardCount: 7;
}
.layout-tv .portraitCard,
.layout-tv .squareCard,
.layout-tv .overflowPortraitCard,
.layout-tv .overflowSquareCard {
--cardCount: 6;
}
.squareCard:has(.cardFooter) {
--cardCount: 6;
}
@@ -712,6 +730,11 @@ html {
.overflowBackdropCard {
--cardCount: 5;
}
.layout-tv .backdropCard,
.layout-tv .overflowBackdropCard {
--cardCount: 4;
}
}
/* 7 posters, 6 thumbs */
@@ -824,8 +847,17 @@ html {
.card {
--effectiveWidth: calc((99vw - (var(--sidePadding) * 2)));
--cardWidth: calc(var(--effectiveWidth) / var(--cardCount) - var(--itemColumnGap));
box-sizing: border-box;
width: var(--cardWidth) !important;
padding: .375em;
transition: width .5s;
box-sizing: content-box;
}
/* this makes the cards bigger and center aligned on older browsers */
@supports (aspect-ratio: 1 / 1) {
.card {
box-sizing: border-box;
}
}
.layout-mobile .card {
@@ -930,7 +962,7 @@ html {
--itemColumnGap: 0.5em;
}
.itemsContainer {
.itemsContainer:not(.editorsChoiceItemsContainer) {
column-gap: var(--itemColumnGap);
}
@@ -1045,27 +1077,14 @@ html {
}
.detailLogo {
/* this hides the detail logo by default to make it only show up on modern browsers */
display: none;
}
@supports (aspect-ratio: 1 / 1) {
/* this shows the detail logo on modern browsers */
.detailLogo {
display: block;
top: calc(100vh - 10em - var(--primaryItemPageNegativeSpace));
left: 0;
width: 40%;
transform: translateY(-100%);
margin: auto 30%;
height: 25vh;
background-position: bottom;
}
.layout-tv .detailLogo {
display: block;
}
display: block;
top: calc(100vh - 10em - var(--primaryItemPageNegativeSpace));
left: 0;
width: 40%;
transform: translateY(-100%);
margin: auto 30%;
height: 25vh;
background-position: bottom;
}
.layout-mobile .detailLogo {
@@ -1121,6 +1140,7 @@ html {
}
.layout-tv .detailLogo {
display: block;
height: 20vh;
top: 39vh;
left: 30vw;
@@ -1240,6 +1260,7 @@ html {
/* this shows the poster in the cast, book and music pages */
.detailImageContainer .card:has(.book, .person, .album),
.detailImageContainer .card.backdropCard:has(.tv),
.detailImageContainer .card.backdropCard:has(.movie),
.detailImageContainer .card.backdropCard:has(.live_tv) {
display: block;
}
@@ -1330,6 +1351,10 @@ html,
background: var(--backgroundGradient);
}
.backdropImage {
background-position-y: var(--backdropPositionY);
}
.backdropImage:after,
.backdropImage:before {
content: "";
@@ -1362,6 +1387,10 @@ html,
background: linear-gradient(0deg, var(--darkerGradientPoint), 45%, rgba(17, 24, 39, .25));
}
.layout-tv .backgroundContainer.withBackdrop {
background: linear-gradient(0deg, var(--darkerGradientPoint), 45%, rgba(17, 24, 39, .95));
}
.layout-mobile .withSectionTabs .backgroundContainer.withBackdrop {
opacity: .9;
}
@@ -1654,26 +1683,10 @@ progress+span {
outline: none;
overflow: hidden;
margin-top: 1em;
border: var(--defaultBorder);
border-radius: var(--smallRadius);
background-color: var(--lighterGradientPointAlpha);
}
@supports(display:revert) {
.itemDetailsGroup {
outline: var(--defaultBorder);
outline-offset: calc(-1 * var(--borderWidth));
border: none;
}
/* this somehow fixes border overflow on mobile */
.layout-mobile .itemDetailsGroup {
outline-offset: calc(-1 * var(--borderWidthDouble));
}
}
.itemDetailsGroup>div:not(:last-child) {
border-bottom: var(--defaultBorder);
border: none;
box-shadow: inset 0 0 0 .06em var(--borderColor) !important;
}
.detailsGroupItem {
@@ -1683,6 +1696,10 @@ progress+span {
align-items: baseline;
}
.detailsGroupItem:not(:last-child) {
border-bottom: var(--defaultBorder);
}
.detailsGroupItem>.label {
font-weight: 600;
flex-basis: 6em;
@@ -1776,7 +1793,6 @@ progress+span {
color: var(--dimTextColor);
margin-top: 0;
margin-bottom: 0;
-webkit-line-clamp: 2;
}
.detail-clamp-text p {
@@ -1784,10 +1800,19 @@ progress+span {
margin-bottom: .25em;
}
.layout-desktop .detail-clamp-text {
-webkit-line-clamp: 2;
}
.layout-mobile .detail-clamp-text {
-webkit-line-clamp: 4;
}
.layout-tv .detail-clamp-text {
-webkit-line-clamp: 10;
transition: none;
}
.overview-expand.emby-button {
padding: 0;
margin-top: 1.4em;
@@ -1889,10 +1914,10 @@ progress+span {
border: unset;
}
body:has(.dialog.dialog-fixedSize.opened,
/* body:has(.dialog.dialog-fixedSize.opened,
.dialog.dialog-fullscreen-lowres.opened) {
overflow: hidden;
}
} */
}
@@ -2208,6 +2233,17 @@ div[data-type="PhotoAlbum"] .play_arrow:before {
height: 3em;
min-width: 10em;
margin-right: .5em !important;
flex-direction: row;
}
.btnPlay:after {
content: attr(title);
padding: 0 1ch;
}
.btnPlay>.detailButton-content::after {
padding: 0 1ch;
place-content: center;
}
.btnPlay>.detailButton-content {
@@ -2222,7 +2258,7 @@ div[data-type="PhotoAlbum"] .play_arrow:before {
justify-content: flex-start;
}
.mainDetailButtons:has(.detailButton[data-type="Book"]) .btnPlay[title="Play"]>.detailButton-content::after {
.mainDetailButtons:has(.detailButton[data-type="Book"]) .btnPlay[title="Play"]:after {
content: "Read";
}
@@ -2231,19 +2267,6 @@ div[data-type="PhotoAlbum"] .play_arrow:before {
padding-inline-end: 1ch;
}
.btnPlay[title="Play"]>.detailButton-content::after {
content: "Play";
}
.btnPlay[title="Resume"]>.detailButton-content::after {
content: "Resume";
}
.btnPlay>.detailButton-content::after {
padding: 0 1ch;
place-content: center;
}
.mainDetailButtons {
justify-content: center;
margin: 0 0 1em 0;
@@ -2540,6 +2563,10 @@ div[data-role=controlgroup] a.ui-btn-active {
background-color: var(--lighterGradientPointAlpha);
}
.layout-tv .trackSelections {
order: 2;
}
.recordingFields {
order: 4;
}
@@ -2601,6 +2628,10 @@ div[data-role=controlgroup] a.ui-btn-active {
grid-column: 1;
}
.layout-tv .itemDetailsGroup {
order: 2;
}
.trackSelections.hide~.recordingFields.hide~.itemDetailsGroup {
grid-column: 1 / -1;
}
@@ -2784,19 +2815,20 @@ div[data-role=controlgroup] a.ui-btn-active {
color: white;
}
.skip-button-container {
bottom: 25%;
}
.skip-button {
background-color: whitesmoke;
box-shadow: var(--shadow);
bottom: 25%;
right: var(--sidePadding);
margin-right: var(--sidePadding);
}
/* this workaround allows the skip button get focused correctly on TVs using remote navigation*/
/* issue: back button can no longer be focused correctly when this button is focused,
but that is a non-issue because users can use the back button on their remotes */
/* this allows the skip button get focused correctly on TVs using remote navigation; needs 10.10.7*/
.layout-tv .skip-button {
right: unset;
left: var(--sidePadding);
margin-right: auto;
margin-left: var(--sidePadding);
}
.skip-button:hover {
@@ -2897,6 +2929,11 @@ but that is a non-issue because users can use the back button on their remotes *
font-family: consolas, monaco, monospace;
}
.customCssContainer textarea {
max-height: 40vh;
overflow-y: auto !important;
}
.emby-select-withcolor,
.emby-select,
.emby-input,
@@ -3442,39 +3479,26 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense>div:first-child {
transition: transform .5s;
}
/* this is the default header, visible in home and libraries */
.skinHeader-blurred:not(.osdHeader) {
backdrop-filter: none;
background-color: transparent;
border: none;
background: var(--headerBackground);
padding-top: .75em;
}
.layout-mobile .skinHeader-blurred:not(.osdHeader) {
padding-top: .25em;
/* this is the default solid header, visible in home and libraries */
.skinHeader-blurred:not(.osdHeader):not(.semiTransparent) {
backdrop-filter: var(--blurLarge);
background: var(--headerColor);
border: var(--defaultBorder);
border-width: 0 0 var(--borderWidth) 0;
}
.layout-mobile .skinHeader-blurred:not(.osdHeader),
.layout-mobile .withSectionTabs .headerTop {
padding-bottom: 1.45em;
}
.skinHeader-blurred:not(.osdHeader):not(.semiTransparent)::after {
content: var(--headerBlurLayerVisibility);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
backdrop-filter: var(--blurLargest);
-webkit-mask: var(--headerBlurMask);
mask: var(--headerBlurMask);
z-index: -1;
padding: 0;
}
.headerTabs.sectionTabs {
margin: 0;
height: 6em;
display: grid;
height: var(--appBarHeight);
}
.layout-mobile .headerTabs.sectionTabs {
align-content: center;
}
/* this is the transparent header, visible in main media page */
@@ -3500,14 +3524,29 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense>div:first-child {
/* this keeps the header elements aligned when its height is modified */
.headerTop {
-webkit-align-items: flex-end;
align-items: flex-end;
-webkit-align-items: center;
align-items: center;
/* this removes different padding set on different layouts in various media queries */
padding: 0;
height: var(--appBarHeight);
}
.osdHeader .headerTop {
max-height: var(--appBarHeight);
}
.layout-desktop .headerTop {
padding: 0 1em;
}
.layout-tv .headerTop {
padding: 0 .5em;
}
/* this prevents the section tabs from hiding all the way up */
.headroom--unpinned {
-webkit-transform: translateY(-3.7em);
transform: translateY(-3.7em);
-webkit-transform: translateY(calc(-1 * var(--appBarHeight) - var(--borderWidth)));
transform: translateY(calc(-1 * var(--appBarHeight) - var(--borderWidth)));
}
.noHomeButtonHeader .emby-tab-button[data-index="1"]:before {
@@ -3532,7 +3571,8 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense>div:first-child {
.layout-tv .sectionTabs {
/* this prevents the section tabs from being off-center in the music library
after I set the overflow to visible to fix visual glitches */
width: 100%;
width: 70%;
margin-right: 2em;
}
.headerTabs.sectionTabs .emby-tab-button {
@@ -3562,58 +3602,97 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense>div:first-child {
@media (min-width: 75em) {
.layout-desktop .sectionTabs,
.layout-mobile .sectionTabs {
.sectionTabs {
-webkit-align-items: center;
align-items: center;
-webkit-align-self: center;
align-self: center;
-webkit-justify-content: center;
justify-content: center;
margin-top: -3em;
margin-top: calc(-1 * var(--appBarHeight));
position: relative;
width: auto;
}
/* this reduces top page padding when section tabs are minimised */
.libraryPage:not(.noSecondaryNavPage):not(.layout-tv .libraryPage) {
padding-top: 6.8em !important;
}
}
@media (max-width: 100em) {
/* this makes the font size consistent */
.sectionTabs {
font-size: 100%;
}
}
/* this increased top page padding when section tabs are maximised */
.libraryPage:not(.noSecondaryNavPage) {
padding-top: 9.5em !important;
}
/* this limits top page padding when section tabs always on TVs */
.layout-tv .libraryPage:not(.noSecondaryNavPage) {
padding-top: 6em !important;
}
.layout-tv .headerLeft {
overflow: unset;
margin: .25em .5em;
margin: 0em .6em;
}
/* this allows switching between the header styles easily */
#reactRoot>div:nth-of-type(3) {
container-name: skinHeader;
container-type: size;
height: var(--appBarHeight);
}
@container skinHeader (min-height: 4.9em) {
/* this is the alternative faded app bar */
.skinHeader-blurred:not(.osdHeader):not(.semiTransparent) {
backdrop-filter: none;
background-color: transparent;
border: none;
background: var(--headerBackground);
padding: 0;
}
.skinHeader-blurred:not(.osdHeader):not(.semiTransparent)::after {
content: var(--headerBlurLayerVisibility);
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
backdrop-filter: var(--blurLargest);
-webkit-mask: var(--headerBlurMask);
mask: var(--headerBlurMask);
z-index: -1;
}
.layout-mobile .headerTop {
height: calc(var(--appBarHeight) - 1em);
}
.headerTabs.sectionTabs {
padding-bottom: 1.5em;
}
.layout-mobile .headerTabs.sectionTabs {
align-content: center;
}
.headroom--unpinned {
-webkit-transform: translateY(calc(-.75 * var(--appBarHeight) - var(--borderWidth)));
transform: translateY(calc(-.75 * var(--appBarHeight) - var(--borderWidth)));
}
}
.remoteControlContent {
padding: 0 var(--sidePadding) !important;
}
/* Uncomment this to bring back the original ElegantFin header design - start */
/* .skinHeader-blurred:not(.osdHeader):not(.semiTransparent) {
backdrop-filter: var(--blurLarge);
background: var(--headerColor);
border: var(--defaultBorder);
border-width: 0 0 var(--borderWidth) 0;
}
.skinHeader-blurred:not(.osdHeader):not(.semiTransparent)::after {
content: none;
}
.headerTabs.sectionTabs {
height: 4em;
} */
/* Uncomment this to bring back the original ElegantFin header design - end */
}

View File

@@ -52,8 +52,8 @@
#slides-container {
width: calc(100vw - (2 * var(--sidePadding)));
height: 60%;
top: 8em;
height: 62%;
top: calc(1.5 * var(--appBarHeight));
border: var(--defaultBorder);
border-radius: var(--largerRadius);
transition: all .125s, border 0s;
@@ -106,4 +106,10 @@
}
}
@media (min-width: 75em) {
#slides-container {
top: calc(.5 * var(--appBarHeight));
}
}
/* this styles the media bar plugin - end */