mirror of
https://github.com/lscambo13/ElegantFin.git
synced 2025-12-28 23:07:46 +00:00
Compare commits
37 Commits
beaf6415d0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c665c54f53 | ||
|
|
af6d340e8e | ||
|
|
fa0cf75972 | ||
|
|
ec7b63b431 | ||
|
|
0f8474eccd | ||
|
|
4083a7a0b9 | ||
|
|
8f27df07bc | ||
|
|
6a11b9cb60 | ||
|
|
c972bb0a48 | ||
|
|
bf4241a700 | ||
|
|
1fe65b63e6 | ||
|
|
872ac32747 | ||
|
|
b218a819da | ||
|
|
c4d04e1709 | ||
|
|
c9839f0848 | ||
|
|
779b3449c0 | ||
|
|
53b003dd9e | ||
|
|
5c915d6ac1 | ||
|
|
2336be539a | ||
|
|
76a5319c97 | ||
|
|
296263c9d7 | ||
|
|
422a1e185e | ||
|
|
7dcd42f992 | ||
|
|
4e53bd27bc | ||
|
|
86a1e1c74e | ||
|
|
81a118e86e | ||
|
|
44e95c42cb | ||
|
|
8b1585da89 | ||
|
|
3d08baecc8 | ||
|
|
fe651691e3 | ||
|
|
cf67874221 | ||
|
|
676a1be4ae | ||
|
|
9a60e664e5 | ||
|
|
ab8627eb66 | ||
|
|
c7abd97dfb | ||
|
|
23542f197e | ||
|
|
5641b4c7d6 |
92
README.md
92
README.md
@@ -1,15 +1,32 @@
|
||||
<!-- Banner Image -->
|
||||
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Theme/assets/img/banner.png?raw=true" alt="ElegantFin Theme for Jellyfin - Banner">
|
||||
|
||||
# ⭐ ElegantFin Theme
|
||||
This is a Jellyfin theme inspired from Jellyseerr to improve the overall look and experience with various fixes to the UI/UX. It gives Jellyfin a fresh, modern look, and it aims to work on mobile, desktop, and TV, with just one import.
|
||||
<div align="center">
|
||||
<a href="https://www.jsdelivr.com/package/gh/lscambo13/ElegantFin">
|
||||
<img
|
||||
src="https://img.shields.io/jsdelivr/gh/hm/lscambo13/ElegantFin?style=flat&logo=jsdelivr&logoColor=%23f65e34&label=jsDelivr%20Hits&labelColor=white&color=%23f65e34"
|
||||
alt="jsDelivr Requests"
|
||||
/>
|
||||
</a>
|
||||
<br>
|
||||
<a href="https://github.com/lscambo13/ElegantFin/stargazers">
|
||||
<img
|
||||
src="https://img.shields.io/github/stars/lscambo13/ElegantFin?style=flat&logo=github&logoColor=%231f2328&label=GitHub%20Stars&labelColor=white&color=%231f2328"
|
||||
alt="GitHub Repo stars"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
## ⭐ ElegantFin Theme
|
||||
|
||||
This is a Jellyfin theme inspired from Jellyseerr to improve the overall look and experience with various fixes to the UI/UX. It gives Jellyfin a fresh, modern look, and it aims to work on mobile, desktop, and TV, with just one import.
|
||||
|
||||
#### **Author:** [lscambo13](https://github.com/lscambo13)
|
||||
|
||||
<hr>
|
||||
|
||||
### ✨ Key Features
|
||||
|
||||
- modern layouts and color tones
|
||||
- new and improved animations on most elements
|
||||
- rounded corners and even spacing everywhere
|
||||
@@ -22,13 +39,14 @@ This is a Jellyfin theme inspired from Jellyseerr to improve the overall look an
|
||||
<hr>
|
||||
|
||||
### 🖼️ Theme Showcase
|
||||
|
||||
Captured on ElegantFin v25.08.02
|
||||
|
||||
<details>
|
||||
<summary> 💻 <i>Desktop and </i>📱 <i>Mobile Screenshots</i></summary>
|
||||
|
||||
| Desktop | Mobile |
|
||||
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/21.%20Login%20Page.webp?raw=true"><br><strong>Login Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/21.%20Login%20Page.webp?raw=true"></div> |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/1.%20Homepage.webp?raw=true"><br><strong>Homepage</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/1.%20Homepage.webp?raw=true"></div> |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/2.%20Movies%20Library.webp?raw=true"><br><strong>Movies Library</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/2.%20Movies%20Library.webp?raw=true"></div> |
|
||||
@@ -56,7 +74,7 @@ Captured on ElegantFin v25.08.02
|
||||
<summary> 📺 <i>TV Screenshots</i></summary>
|
||||
|
||||
| TV View |
|
||||
| ------------------------------------------------------------------------------------------------------------- |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/21.%20Login%20Page.webp?raw=true"><br><strong>Login Page</strong></div> |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/1.%20Homepage.webp?raw=true"><br><strong>Homepage</strong></div> |
|
||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/2.%20Movies%20Library.webp?raw=true"><br><strong>Movies Library</strong></div> |
|
||||
@@ -77,12 +95,8 @@ Captured on ElegantFin v25.08.02
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
### 👇 How to install/setup this theme?
|
||||
@@ -99,7 +113,7 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
3. Scroll down to find Custom CSS code box.
|
||||
4. Paste the custom css in Custom CSS code box.
|
||||
5. Click save
|
||||
</details>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><i>Detailed steps for client-side implementation</i></summary>
|
||||
@@ -108,8 +122,7 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
2. Scroll down to find Custom CSS code box.
|
||||
3. Paste the custom css in Custom CSS code box.
|
||||
4. Click save.
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<hr>
|
||||
|
||||
@@ -150,7 +163,6 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
|
||||
<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{
|
||||
@@ -165,7 +177,6 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
|
||||
<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{
|
||||
@@ -181,11 +192,13 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||
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{
|
||||
--cardHoverEffect: none;
|
||||
}
|
||||
```
|
||||
|
||||
- To undo this change, simply remove this code block or replace `none` with `""`.
|
||||
</details>
|
||||
|
||||
@@ -194,44 +207,79 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
|
||||
<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{
|
||||
--libraryLabelVisibility: block;
|
||||
}
|
||||
```
|
||||
|
||||
- To undo this change, simply remove this code block or replace `block` with `none`.
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><i>7. Enable experimental support for the Media Bar plugin</i></summary>
|
||||
<summary><i>7. Enable alternative style 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");
|
||||
```
|
||||
|
||||
- To undo this change, simply remove this code block.
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><i>8. Switch between different app bar styles</i></summary>
|
||||
|
||||
https://github.com/user-attachments/assets/b5868cd2-8df9-490d-a2b6-4386c6ddcd56
|
||||
|
||||
- You can switch between these using `--appBarHeight`.
|
||||
- Use 5em to enable the fading app bar (seamless) (default);
|
||||
- Or, use 4.6em to get the solid app bar (cleaner with border)
|
||||
|
||||
```
|
||||
:root{
|
||||
/* example */
|
||||
--appBarHeight: 4.6em;
|
||||
}
|
||||
```
|
||||
|
||||
- To undo this change, simply remove this code block.
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><i>9. Change to alternative color themes</i></summary>
|
||||
|
||||
<img width="640" height="auto" alt="image" src="https://github.com/user-attachments/assets/0cab75aa-8fcd-4174-b0db-cc533b724bca" />
|
||||
|
||||
- Check out the [the theme Playground page](https://github.com/lscambo13/ElegantFin/discussions/221) for different color themes.
|
||||
- You can also experiment and share your own take there if you wish.
|
||||
</details>
|
||||
|
||||
<hr>
|
||||
|
||||
### 🆗 Tested on
|
||||
- Jellyfin Server v10.11.1
|
||||
|
||||
- Jellyfin Server v10.11.5
|
||||
- Microsoft Edge (Chromium)
|
||||
- Jellyfin Android App v2.6.3
|
||||
|
||||
<hr>
|
||||
|
||||
### 🛠️ Troubleshooting
|
||||
|
||||
<details>
|
||||
<summary>1️⃣ - <i>How do I check if I am using the latest version of ElegantFin?</i></summary>
|
||||
|
||||
- Check the version number at the bottom in the Settings screen.
|
||||
- It should be something like `ElegantFin v25.10.XX`.
|
||||
- It should be something like `ElegantFin v25.XX.XX`.
|
||||
|
||||
<img width="380" height="300" alt="image" src="https://github.com/user-attachments/assets/aecca6f5-7bd3-4057-9131-aa60b3becbaf" />
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
@@ -241,7 +289,7 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
- Once that cache is updated, the new version will be loaded automatically.
|
||||
- There are multiple ways to clear the cache depending on your OS, smartphone or TV. Look online if you don't know.
|
||||
- On the web version, you can force a hard refresh of the page using CTRL + F5.
|
||||
- On apps, try signing out and back in again. OR in case of Jellyfin Media Player on windows, you might need to delete the cache folder. That should definitely pull the latest version.
|
||||
- On apps, try signing out and back in again. OR in case of Jellyfin Media Player on windows, you might need to delete the cache folder.
|
||||
</details>
|
||||
|
||||
<details>
|
||||
@@ -262,13 +310,12 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
- It seems that modern Material Icons which this theme uses are [not compatible on some WebOS TVs](https://github.com/lscambo13/ElegantFin/issues/39). There is a [huge similar thread](https://www.reddit.com/r/youtubetv/comments/e27go3/chinese_symbols_instead_of_icons_on_lg_tv/) about this.
|
||||
- This bug can be fixed by using the older icons, so I have implemented the following workaround to bring back older, supported icons.
|
||||
- Simply add the following code at the end in Custom CSS box and save, then refresh your apps and webpages:
|
||||
|
||||
```
|
||||
:root{
|
||||
--iconPack: 'Material Icons';
|
||||
}
|
||||
```
|
||||
</details>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>6️⃣ - <i>How do I report bugs/issues?</i></summary>
|
||||
@@ -276,7 +323,6 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
- First check [here](https://github.com/lscambo13/ElegantFin/issues?q=) whether a similar issue has been reported already. If it exists, upvote and comment there to let me know.
|
||||
- Alternatively, create a new issue [here](https://github.com/lscambo13/ElegantFin/issues/new/choose).
|
||||
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>7️⃣ - <i>When can I expect another update?</i></summary>
|
||||
@@ -290,8 +336,6 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
|
||||
Please read the [Contributor Guidelines](./CONTRIBUTING.md) before opening pull requests.
|
||||
|
||||
|
||||
### 🙏 Feedback Appreciated
|
||||
|
||||
Please use the right template when creating an [issue](https://github.com/lscambo13/ElegantFin/issues/new/choose) to [report bugs](https://github.com/lscambo13/ElegantFin/issues/new?template=bug_report.md) or [provide suggestions](https://github.com/lscambo13/ElegantFin/issues/new?template=feature_request.md).
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -92,9 +92,7 @@
|
||||
--sidePadding: 3.3%;
|
||||
--itemColumnGap: 1em;
|
||||
|
||||
--primaryItemPageNegativeSpace: 14vh;
|
||||
--secondaryItemPageNegativeSpace: 60vh;
|
||||
--clearLogoBottomSpace: 11em;
|
||||
--minEpisodeCardWidth: 26em;
|
||||
|
||||
--blurSmallest: blur(2px);
|
||||
--blurDefault: blur(5px);
|
||||
@@ -156,9 +154,9 @@
|
||||
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%;
|
||||
/* use 10% to crop the top 10% of a backdrop image on a 16:9 screen (recommended) [default];
|
||||
use a figure between 0% and 20% according to your liking */
|
||||
--backdropTrimFromTop: 10%;
|
||||
}
|
||||
|
||||
html {
|
||||
@@ -169,11 +167,25 @@ html {
|
||||
-webkit-tap-highlight-color: transparent !important;
|
||||
}
|
||||
|
||||
body {
|
||||
--primaryItemPageNegativeSpace: 14vh;
|
||||
--secondaryItemPageNegativeSpace: 60vh;
|
||||
--clearLogoBottomSpace: 11em;
|
||||
}
|
||||
|
||||
.layout-desktop > body:has(> audio[src]) {
|
||||
--primaryItemPageNegativeSpace: calc(14vh + 5em);
|
||||
--secondaryItemPageNegativeSpace: calc(60vh + 5em);
|
||||
}
|
||||
|
||||
.layout-mobile {
|
||||
--itemColumnGap: 0;
|
||||
--headerColorGradient: var(--headerColorGradientAlt);
|
||||
--blurLargest: blur(12px);
|
||||
--headerBlurMask: linear-gradient(180deg, white 60%, 90%, transparent);
|
||||
}
|
||||
|
||||
.layout-mobile > body {
|
||||
--secondaryItemPageNegativeSpace: 45vh;
|
||||
}
|
||||
|
||||
@@ -209,7 +221,8 @@ html {
|
||||
}
|
||||
|
||||
.material-icons.info_outline:before {
|
||||
font-family: Material Icons;
|
||||
content: "\e88e";
|
||||
font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
|
||||
}
|
||||
|
||||
.dashboardFooter {
|
||||
@@ -390,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;
|
||||
@@ -492,7 +505,7 @@ html {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.cardOverlayContainer:has(.cardOverlayButton:hover) {
|
||||
.cardOverlayContainer:has(> button:hover) {
|
||||
backdrop-filter: var(--blurDefault);
|
||||
}
|
||||
|
||||
@@ -505,11 +518,59 @@ html {
|
||||
font-size: x-small;
|
||||
}
|
||||
|
||||
.listItem-largeImage[data-type="Episode"] .listViewUserDataButtons {
|
||||
/* episode grid start */
|
||||
|
||||
@supports (display: revert) {
|
||||
.layout-desktop .vertical-list:has(.listItem-largeImage) {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(min(var(--minEpisodeCardWidth), 100%), 1fr));
|
||||
gap: var(--itemColumnGap);
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage {
|
||||
display: grid;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage > .listItem-content {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 2em;
|
||||
order: 1;
|
||||
height: 100%;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage > .listItem-bottomoverview {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage .listItemImage-large {
|
||||
order: 1;
|
||||
grid-column: 1 / -1;
|
||||
height: max-content;
|
||||
min-height: 15em;
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 9;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage .listItemBody {
|
||||
order: 2;
|
||||
grid-column: 1 / 3;
|
||||
padding: 1em 0.125em;
|
||||
}
|
||||
|
||||
.layout-desktop .listItem-largeImage .listViewUserDataButtons {
|
||||
flex-direction: column;
|
||||
font-size: small;
|
||||
order: 2;
|
||||
grid-column: 3;
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* episode grid end */
|
||||
|
||||
.portraitCard {
|
||||
min-width: 5em;
|
||||
}
|
||||
@@ -1002,7 +1063,6 @@ html {
|
||||
#itemDetailPage .emby-scroller,
|
||||
#itemDetailPage .scrollX {
|
||||
margin: 0 calc(-1 * var(--sidePadding));
|
||||
padding: 0 var(--sidePadding);
|
||||
padding-left: calc(var(--sidePadding) - 0.375em);
|
||||
/* mask-image: linear-gradient(90deg, transparent, white var(--sidePadding), white calc(100vw - var(--sidePadding)), transparent); */
|
||||
}
|
||||
@@ -1014,10 +1074,14 @@ html {
|
||||
}
|
||||
|
||||
.emby-scroller,
|
||||
.hiddenScrollX.scrollX {
|
||||
.scrollX {
|
||||
padding-left: calc(var(--sidePadding) - 0.375em);
|
||||
}
|
||||
|
||||
.sectionTabs .scrollX {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.itemsContainer:not(.editorsChoiceItemsContainer) {
|
||||
column-gap: var(--itemColumnGap);
|
||||
}
|
||||
@@ -1192,7 +1256,7 @@ html {
|
||||
}
|
||||
|
||||
#itemDetailPage:has(.detailImageContainer .cardPadder-square:not(.person)) .itemBackdrop {
|
||||
height: calc(100vh - 27vh - var(--secondaryItemPageNegativeSpace));
|
||||
height: calc(100vh - 20vh - var(--secondaryItemPageNegativeSpace));
|
||||
}
|
||||
|
||||
.detailLogo {
|
||||
@@ -1258,7 +1322,7 @@ html {
|
||||
|
||||
.layout-tv .detailImageContainer .card {
|
||||
width: 25vw !important;
|
||||
display: grid !important;
|
||||
display: block !important;
|
||||
position: fixed !important;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
@@ -1443,7 +1507,7 @@ html,
|
||||
}
|
||||
|
||||
.backdropImage {
|
||||
background-position-y: var(--backdropPositionY);
|
||||
background-position-y: clamp(0%, calc(var(--backdropTrimFromTop) * 5), 100%);
|
||||
}
|
||||
|
||||
.backdropImage:after,
|
||||
@@ -1909,17 +1973,20 @@ progress + span {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.innerCardFooter,
|
||||
.chapterCardImageContainer {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.innerCardFooter,
|
||||
.chapterThumbTextContainer {
|
||||
background: var(--cardFooterGradient);
|
||||
text-shadow: 0.1em 0.1em 0px black;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: -webkit-fill-available;
|
||||
height: -webkit-fill-available;
|
||||
padding: 0em 2em 2em 2em;
|
||||
align-content: end;
|
||||
display: grid;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.chapterCardImageContainer {
|
||||
@@ -2124,10 +2191,6 @@ progress + span {
|
||||
}
|
||||
}
|
||||
|
||||
.layout-tv .emby-checkbox:focus + span + .checkboxOutline {
|
||||
transform: scale(1.75);
|
||||
}
|
||||
|
||||
.cardIndicators {
|
||||
-webkit-align-items: center;
|
||||
align-items: center;
|
||||
@@ -2459,9 +2522,19 @@ div[data-role="controlgroup"] a.ui-btn-active {
|
||||
background-color: rgba(255, 255, 255, 0.07);
|
||||
}
|
||||
|
||||
[dir="ltr"] .listItem:not(.actionSheetMenuItem)[data-type="Episode"] .listItemBodyText:not(.secondary) {
|
||||
/* [dir="ltr"] .listItem:not(.actionSheetMenuItem)[data-type="Episode"] .listItemBodyText:not(.secondary) {
|
||||
font-size: 1.17em;
|
||||
font-weight: 600;
|
||||
} */
|
||||
|
||||
.listItem-largeImage .listItemBodyText:not(.secondary) {
|
||||
font-size: 1.17em;
|
||||
font-weight: 600;
|
||||
color: var(--textColor);
|
||||
}
|
||||
|
||||
.listItemBodyText.secondary {
|
||||
color: var(--dimTextColor);
|
||||
}
|
||||
|
||||
.listItemBody > .listItemBodyText:not(.secondary) {
|
||||
@@ -2821,9 +2894,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%;
|
||||
@@ -3202,18 +3275,13 @@ div[data-role="controlgroup"] a.ui-btn-active {
|
||||
display: var(--itemOriginalTitleVisibility);
|
||||
}
|
||||
|
||||
.channelPrograms + .channelPrograms,
|
||||
.guide-channelHeaderCell + .guide-channelHeaderCell {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.channelPrograms,
|
||||
.guide-channelHeaderCell,
|
||||
.programCell {
|
||||
border-color: transparent;
|
||||
/* this disables the 'color coded backgrounds' */
|
||||
background-color: transparent !important;
|
||||
border-radius: var(--smallRadius);
|
||||
height: 4.42em;
|
||||
}
|
||||
|
||||
.guideProgramName {
|
||||
@@ -3235,24 +3303,40 @@ div[data-role="controlgroup"] a.ui-btn-active {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.guideChannelImage {
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
bottom: 0.35em;
|
||||
right: 0.35em;
|
||||
top: 0.35em;
|
||||
width: calc(100% - 0.7em);
|
||||
border-radius: var(--smallerRadius);
|
||||
.layout-mobile .guideChannelImage {
|
||||
background-position: center;
|
||||
width: calc(100% - var(--sidePadding));
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.guide-channelHeaderCell {
|
||||
background-color: rgba(255, 255, 255, 0.125);
|
||||
margin: 0.35em 0.7em 0.7em 0.7em;
|
||||
width: auto;
|
||||
height: calc(4.42em - 0.7em);
|
||||
border-radius: var(--smallRadius);
|
||||
}
|
||||
|
||||
.guideChannelNumber {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#guideTab {
|
||||
padding-top: 3em !important;
|
||||
}
|
||||
|
||||
.guide-channelHeaderCell:focus,
|
||||
.programCell:focus {
|
||||
.guide-channelHeaderCell:focus {
|
||||
background-color: var(--highlightOutlineColor) !important;
|
||||
}
|
||||
|
||||
.programCell:focus {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.programCell:focus > .guideProgramName {
|
||||
background-color: var(--highlightOutlineColor);
|
||||
}
|
||||
|
||||
.emby-select-iconbutton {
|
||||
background-color: var(--selectorBackgroundColor);
|
||||
border: var(--defaultLighterBorder);
|
||||
@@ -3462,13 +3546,23 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
}
|
||||
|
||||
/* this :not() is needed to prevent affecting the mixed media libraries on the home page */
|
||||
#homeTab .overflowBackdropCard[data-isfolder="true"]:not(.groupedCard) .cardPadder-overflowBackdrop {
|
||||
/* #homeTab .overflowBackdropCard[data-isfolder="true"]:not(.groupedCard) .cardPadder-overflowBackdrop {
|
||||
padding-bottom: 50%;
|
||||
}
|
||||
|
||||
#homeTab .overflowBackdropCard[data-isfolder="true"]:not(.groupedCard) .cardText-first,
|
||||
#homeTab .overflowBackdropCard[data-isfolder="true"]:not(.groupedCard) .cardText.cardTextCentered {
|
||||
display: var(--libraryLabelVisibility);
|
||||
} */
|
||||
|
||||
.overflowBackdropCard[data-type="CollectionFolder"] .cardPadder-overflowBackdrop,
|
||||
.overflowBackdropCard[data-type="UserView"] .cardPadder-overflowBackdrop {
|
||||
padding-bottom: 50%;
|
||||
}
|
||||
|
||||
.overflowBackdropCard[data-type="CollectionFolder"] .cardText-first,
|
||||
.overflowBackdropCard[data-type="UserView"] .cardText-first {
|
||||
display: var(--libraryLabelVisibility);
|
||||
}
|
||||
|
||||
.nowPlayingButtonsContainer {
|
||||
@@ -3655,12 +3749,12 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.headerTabs.sectionTabs {
|
||||
display: grid;
|
||||
.sectionTabs {
|
||||
display: inline-grid;
|
||||
height: var(--appBarHeight);
|
||||
}
|
||||
|
||||
.layout-mobile .headerTabs.sectionTabs {
|
||||
.layout-mobile .sectionTabs {
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
@@ -3706,7 +3800,7 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
|
||||
/* this prevents the section tabs from hiding all the way up */
|
||||
/* this prevents the section tabs from hiding all the way up on phones (not-tablets)*/
|
||||
.headroom--unpinned {
|
||||
-webkit-transform: translateY(calc(-1 * var(--appBarHeight) - var(--borderWidth)));
|
||||
transform: translateY(calc(-1 * var(--appBarHeight) - var(--borderWidth)));
|
||||
@@ -3738,7 +3832,7 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
margin-right: 2em;
|
||||
}
|
||||
|
||||
.headerTabs.sectionTabs .emby-tab-button {
|
||||
.sectionTabs .emby-tab-button {
|
||||
display: inline-flex;
|
||||
margin: 0.25em 0.5em;
|
||||
padding: 0 1.25em;
|
||||
@@ -3749,20 +3843,12 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
background-color: var(--darkerGradientPointAlpha);
|
||||
}
|
||||
|
||||
.headerTabs.sectionTabs .emby-tab-button-active {
|
||||
.sectionTabs .emby-tab-button-active {
|
||||
margin: 0.25em 0.5em;
|
||||
color: black;
|
||||
background-color: var(--textColor);
|
||||
}
|
||||
|
||||
.layout-mobile .headerTabs.sectionTabs .emby-tab-button:first-child {
|
||||
margin-left: var(--sidePadding);
|
||||
}
|
||||
|
||||
.layout-mobile .headerTabs.sectionTabs .emby-tab-button:last-child {
|
||||
margin-right: var(--sidePadding);
|
||||
}
|
||||
|
||||
@media (min-width: 75em) {
|
||||
.sectionTabs {
|
||||
-webkit-align-items: center;
|
||||
@@ -3780,6 +3866,12 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
.libraryPage:not(.noSecondaryNavPage):not(.layout-tv .libraryPage) {
|
||||
padding-top: 6.8em !important;
|
||||
}
|
||||
|
||||
/* this fixes the header like on desktop on larger tablet screens */
|
||||
.headroom--unpinned {
|
||||
-webkit-transform: translateY(0);
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 100em) {
|
||||
@@ -3789,6 +3881,17 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 75em) {
|
||||
/* these margins are applied only on phones, not tablets*/
|
||||
.layout-mobile .sectionTabs .emby-tab-button:first-child {
|
||||
margin-left: var(--sidePadding);
|
||||
}
|
||||
|
||||
.layout-mobile .sectionTabs .emby-tab-button:last-child {
|
||||
margin-right: var(--sidePadding);
|
||||
}
|
||||
}
|
||||
|
||||
/* this increased top page padding when section tabs are maximised */
|
||||
.libraryPage:not(.noSecondaryNavPage) {
|
||||
padding-top: 9.5em !important;
|
||||
@@ -3805,7 +3908,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);
|
||||
@@ -3834,22 +3937,13 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.layout-mobile .headerTop {
|
||||
height: calc(var(--appBarHeight) - 1em);
|
||||
}
|
||||
|
||||
.headerTabs.sectionTabs {
|
||||
.sectionTabs {
|
||||
padding-bottom: 1.5em;
|
||||
}
|
||||
|
||||
.layout-mobile .headerTabs.sectionTabs {
|
||||
.layout-mobile .sectionTabs {
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.headroom--unpinned {
|
||||
-webkit-transform: translateY(calc(-0.75 * var(--appBarHeight) - var(--borderWidth)));
|
||||
transform: translateY(calc(-0.75 * var(--appBarHeight) - var(--borderWidth)));
|
||||
}
|
||||
}
|
||||
|
||||
.nowPlayingPage {
|
||||
@@ -3861,6 +3955,8 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
background: linear-gradient(transparent, var(--darkerGradientPointAlpha) 20em);
|
||||
}
|
||||
|
||||
/* performance improvements fot low-end TVs - start */
|
||||
|
||||
/* .layout-tv *,
|
||||
.layout-tv *::before,
|
||||
.layout-tv *::after {
|
||||
@@ -3882,11 +3978,28 @@ ul.MuiList-root.MuiMenu-list.MuiList-dense > div:first-child {
|
||||
display: none !important;
|
||||
} */
|
||||
|
||||
/* .layout-tv .emby-checkbox:focus + span + .checkboxOutline {
|
||||
transform: scale(1.75);
|
||||
} */
|
||||
|
||||
.layout-tv .show-focus:focus,
|
||||
.layout-tv .show-animation:focus {
|
||||
.layout-tv .show-animation:focus,
|
||||
.emby-select-focusscale:focus {
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
.layout-tv .focuscontainer,
|
||||
.layout-tv .backdropImage {
|
||||
animation-duration: 0s !important;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
|
||||
.card.show-animation .cardBox {
|
||||
transition: transform 0.05s ease-out, -webkit-transform 0.05s ease-out;
|
||||
}
|
||||
|
||||
/* performance improvements fot low-end TVs - end */
|
||||
|
||||
/* basic styling for the Media Bar Plugin - start
|
||||
for extended styling, use the add-on */
|
||||
|
||||
|
||||
4025
Theme/ElegantFin-theme-v25.11.25.css
Normal file
4025
Theme/ElegantFin-theme-v25.11.25.css
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -11,6 +11,9 @@
|
||||
--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);
|
||||
@@ -20,169 +23,113 @@
|
||||
--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);
|
||||
}
|
||||
|
||||
.card-withuserdata[data-isfolder="true"] .cardImageContainer.defaultCardBackground {
|
||||
[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;
|
||||
}
|
||||
|
||||
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"], [data-type="Series"], [data-type="Folder"], [data-type="Season"], [data-type="Playlist"]) .cardImageContainer.cardContent::before {
|
||||
[data-type="CollectionFolder"] .cardContent::before,
|
||||
[data-type="UserView"] .cardContent::before {
|
||||
content: attr(aria-label);
|
||||
position: absolute;
|
||||
font-size: clamp(1em, max(2.5vh, 2vw), 2.5em);
|
||||
margin-bottom: .175em;
|
||||
font-size: clamp(1em, max(2.5vh, 2vw), 2em);
|
||||
font-weight: 800;
|
||||
color: white;
|
||||
font-family: 'Noto Sans';
|
||||
font-family: "Noto Sans";
|
||||
text-align: center;
|
||||
width: 94%;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"], [data-type="Series"], [data-type="Folder"]) .cardImageIcon.material-icons:not(.quiz)::before {
|
||||
.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;
|
||||
}
|
||||
|
||||
/* These show up when no image is set */
|
||||
|
||||
/* div[data-collectiontype="movies"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayMoviesCover) !important;
|
||||
[data-collectiontype="movies"] .cardContent {
|
||||
background-color: var(--colorOverlayMoviesCover) !important;
|
||||
background-image: var(--urlMoviesCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="tvshows"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayTvshowsCover) !important;
|
||||
[data-collectiontype="tvshows"] .cardContent {
|
||||
background-color: var(--colorOverlayTvshowsCover) !important;
|
||||
background-image: var(--urlTvshowsCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="livetv"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayLivetvCover) !important;
|
||||
[data-collectiontype="livetv"] .cardContent {
|
||||
background-color: var(--colorOverlayLivetvCover) !important;
|
||||
background-image: var(--urlLivetvCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="music"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayMusicCover) !important;
|
||||
[data-collectiontype="music"] .cardContent {
|
||||
background-color: var(--colorOverlayMusicCover) !important;
|
||||
background-image: var(--urlMusicCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="homevideos"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayHomevideosCover) !important;
|
||||
[data-collectiontype="homevideos"] .cardContent {
|
||||
background-color: var(--colorOverlayHomevideosCover) !important;
|
||||
background-image: var(--urlHomevideosCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="books"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayBooksCover) !important;
|
||||
[data-collectiontype="books"] .cardContent {
|
||||
background-color: var(--colorOverlayBooksCover) !important;
|
||||
background-image: var(--urlBooksCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="boxsets"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayBoxsetsCover) !important;
|
||||
[data-collectiontype="boxsets"] .cardContent {
|
||||
background-color: var(--colorOverlayBoxsetsCover) !important;
|
||||
background-image: var(--urlBoxsetsCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="folders"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayFoldersCover) !important;
|
||||
[data-collectiontype="folders"] .cardContent {
|
||||
background-color: var(--colorOverlayFoldersCover) !important;
|
||||
background-image: var(--urlFoldersCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="playlists"] .cardImageContainer.defaultCardBackground {
|
||||
background: var(--colorOverlayPlaylistsCover) !important;
|
||||
background-image: var(--urlPlaylistsCover) !important;
|
||||
} */
|
||||
|
||||
/* These are the front facing images */
|
||||
|
||||
div[data-collectiontype="movies"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayMoviesCover) !important;
|
||||
background-image: var(--urlMoviesCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="tvshows"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayTvshowsCover) !important;
|
||||
background-image: var(--urlTvshowsCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="livetv"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayLivetvCover) !important;
|
||||
background-image: var(--urlLivetvCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="music"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayMusicCover) !important;
|
||||
background-image: var(--urlMusicCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="homevideos"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayHomevideosCover) !important;
|
||||
background-image: var(--urlHomevideosCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="books"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayBooksCover) !important;
|
||||
background-image: var(--urlBooksCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="boxsets"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayBoxsetsCover) !important;
|
||||
background-image: var(--urlBoxsetsCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="folders"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayFoldersCover) !important;
|
||||
background-image: var(--urlFoldersCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="playlists"] .cardImageContainer.cardContent {
|
||||
background: var(--colorOverlayPlaylistsCover) !important;
|
||||
[data-collectiontype="playlists"] .cardContent {
|
||||
background-color: var(--colorOverlayPlaylistsCover) !important;
|
||||
background-image: var(--urlPlaylistsCover) !important;
|
||||
}
|
||||
|
||||
.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent {
|
||||
filter: contrast(0.85);
|
||||
background-size: cover !important;
|
||||
background-position: 50% !important;
|
||||
background-blend-mode: multiply;
|
||||
[data-prefix="MIX"] .cardContent {
|
||||
background-color: var(--colorOverlayMixedCover) !important;
|
||||
background-image: var(--urlMixedCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="movies"] .cardImageContainer.cardContent::before {
|
||||
content: "Movies";
|
||||
[data-collectiontype="movies"][data-prefix="REC"] .cardContent {
|
||||
background-color: var(--colorOverlayRecordedmoviesCover) !important;
|
||||
background-image: var(--urlRecordedmoviesCover) !important;
|
||||
}
|
||||
|
||||
div[data-collectiontype="tvshows"] .cardImageContainer.cardContent::before {
|
||||
content: "TV Shows";
|
||||
}
|
||||
|
||||
div[data-collectiontype="livetv"] .cardImageContainer.cardContent::before {
|
||||
content: "Live TV";
|
||||
}
|
||||
|
||||
div[data-collectiontype="music"] .cardImageContainer.cardContent::before {
|
||||
content: "Music";
|
||||
}
|
||||
|
||||
div[data-collectiontype="homevideos"] .cardImageContainer.cardContent::before {
|
||||
content: "Home Videos";
|
||||
}
|
||||
|
||||
div[data-collectiontype="books"] .cardImageContainer.cardContent::before {
|
||||
content: "Books";
|
||||
}
|
||||
|
||||
div[data-collectiontype="boxsets"] .cardImageContainer.cardContent::before {
|
||||
content: "Collections";
|
||||
}
|
||||
|
||||
div[data-collectiontype="folders"] .cardImageContainer.cardContent::before {
|
||||
content: "Folders";
|
||||
}
|
||||
|
||||
div[data-collectiontype="playlists"] .cardImageContainer.cardContent::before {
|
||||
content: "Playlists";
|
||||
}
|
||||
|
||||
.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent {
|
||||
filter: contrast(0.85);
|
||||
background-size: cover !important;
|
||||
background-position: 50% !important;
|
||||
background-blend-mode: multiply;
|
||||
[data-prefix="REC"] .cardContent {
|
||||
background-color: var(--colorOverlayRecordedtvCover) !important;
|
||||
background-image: var(--urlRecordedtvCover) !important;
|
||||
}
|
||||
135
Theme/assets/add-ons/custom-media-covers-v25.11.25.css
Normal file
135
Theme/assets/add-ons/custom-media-covers-v25.11.25.css
Normal 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;
|
||||
}
|
||||
@@ -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%}}
|
||||
@@ -84,4 +84,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
@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 */
|
||||
|
||||
103
Theme/assets/add-ons/media-bar-plugin-support-v25.11.25.css
Normal file
103
Theme/assets/add-ons/media-bar-plugin-support-v25.11.25.css
Normal 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 */
|
||||
BIN
Theme/assets/img/library-covers/mixed.webp
Normal file
BIN
Theme/assets/img/library-covers/mixed.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
BIN
Theme/assets/img/library-covers/originals/mixed.jpg
Normal file
BIN
Theme/assets/img/library-covers/originals/mixed.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
BIN
Theme/assets/img/library-covers/originals/recordedmovies.jpg
Normal file
BIN
Theme/assets/img/library-covers/originals/recordedmovies.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
BIN
Theme/assets/img/library-covers/originals/recordedtv.jpg
Normal file
BIN
Theme/assets/img/library-covers/originals/recordedtv.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 227 KiB |
BIN
Theme/assets/img/library-covers/recordedmovies.webp
Normal file
BIN
Theme/assets/img/library-covers/recordedmovies.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
BIN
Theme/assets/img/library-covers/recordedtv.webp
Normal file
BIN
Theme/assets/img/library-covers/recordedtv.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -1,4 +1,5 @@
|
||||
# 🧩 Add-on: Custom media covers for ElegantFin
|
||||
|
||||
This is a Jellyfin add-on that allows you to customise My Media cover arts. This is an experimental feature, so limited support will be provided.
|
||||
|
||||
#### **Author:** [lscambo13](https://github.com/lscambo13)
|
||||
@@ -50,6 +51,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--colorOverlayHomevideosCover: transparent;
|
||||
--colorOverlayBooksCover: transparent;
|
||||
--colorOverlayFoldersCover: transparent;
|
||||
--colorOverlayMixedCover: transparent;
|
||||
--colorOverlayRecordedmoviesCover: transparent;
|
||||
--colorOverlayRecordedtvCover: transparent;
|
||||
--urlMoviesCover: transparent;
|
||||
--urlTvshowsCover: transparent;
|
||||
--urlLivetvCover: transparent;
|
||||
@@ -59,6 +63,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--urlHomevideosCover: transparent;
|
||||
--urlBooksCover: transparent;
|
||||
--urlFoldersCover: transparent;
|
||||
--urlMixedCover: transparent;
|
||||
--urlRecordedmoviesCover: transparent;
|
||||
--urlRecordedtvCover: transparent;
|
||||
}
|
||||
```
|
||||
|
||||
@@ -79,6 +86,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--colorOverlayHomevideosCover: transparent;
|
||||
--colorOverlayBooksCover: transparent;
|
||||
--colorOverlayFoldersCover: transparent;
|
||||
--colorOverlayMixedCover: transparent;
|
||||
--colorOverlayRecordedmoviesCover: transparent;
|
||||
--colorOverlayRecordedtvCover: transparent;
|
||||
--urlMoviesCover: var(--cardBackgroundGradient);
|
||||
--urlTvshowsCover: var(--cardBackgroundGradient);
|
||||
--urlLivetvCover: var(--cardBackgroundGradient);
|
||||
@@ -88,6 +98,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--urlHomevideosCover: var(--cardBackgroundGradient);
|
||||
--urlBooksCover: var(--cardBackgroundGradient);
|
||||
--urlFoldersCover: var(--cardBackgroundGradient);
|
||||
--urlMixedCover: var(--cardBackgroundGradient);
|
||||
--urlRecordedmoviesCover: var(--cardBackgroundGradient);
|
||||
--urlRecordedtvCover: var(--cardBackgroundGradient);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -98,7 +111,6 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
|
||||

|
||||
|
||||
|
||||
```
|
||||
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||
|
||||
@@ -112,6 +124,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--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: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlTvshowsCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlLivetvCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
@@ -121,6 +136,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--urlHomevideosCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlBooksCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlFoldersCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlMixedCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlRecordedmoviesCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
--urlRecordedtvCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -142,8 +160,6 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
|
||||
- Remember, you do not need to configure anything if you're happy with the default set of images.
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
<summary><i>Click here to reveal.</i></summary>
|
||||
|
||||
@@ -168,6 +184,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--colorOverlayHomevideosCover: rgb();
|
||||
--colorOverlayBooksCover: rgb();
|
||||
--colorOverlayFoldersCover: rgb();
|
||||
--colorOverlayMixedCover: rgb();
|
||||
--colorOverlayRecordedmoviesCover: rgb();
|
||||
--colorOverlayRecordedtvCover: rgb();
|
||||
|
||||
<!-- cover images; input the url pointing to an image. -->
|
||||
|
||||
@@ -179,8 +198,12 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
--urlHomevideosCover: url();
|
||||
--urlBooksCover: url();
|
||||
--urlFoldersCover: url();
|
||||
--urlMixedCover: url();
|
||||
--urlRecordedmoviesCover: url();
|
||||
--urlRecordedtvCover: url();
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
@@ -191,11 +214,12 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
Suppose you want to modify the Live TV cover art. You'll have to modify the variables named `--colorOverlayLivetvCover` and `--urlLivetvCover`, so that your final configuration will look something like this:
|
||||
|
||||
```
|
||||
|
||||
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||
|
||||
:root{
|
||||
--colorOverlayLivetvCover: rgb(39, 68, 185);
|
||||
--urlLivetvCover: url(https://artworks.thetvdb.com/banners/fanart/original/71663-33.jpg);
|
||||
--colorOverlayLivetvCover: rgb(39, 68, 185);
|
||||
--urlLivetvCover: url(https://artworks.thetvdb.com/banners/fanart/original/71663-33.jpg);
|
||||
}
|
||||
|
||||
```
|
||||
@@ -224,3 +248,4 @@ Suppose you want to modify the Live TV cover art. You'll have to modify the vari
|
||||
|
||||
<hr>
|
||||
|
||||
```
|
||||
|
||||
@@ -9,5 +9,9 @@
|
||||
"editor.formatOnSave": true,
|
||||
"prettier.useTabs": false,
|
||||
"prettier.printWidth": 120,
|
||||
"cSpell.words": [
|
||||
"Jellyfin",
|
||||
"Jellyseerr"
|
||||
],
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user