Compare commits
233 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6b537e3e16 | ||
|
f003722028 | ||
|
3f7078be54 | ||
|
353e6b466a | ||
|
2c4fa43198 | ||
|
0ad636b2f3 | ||
|
5a07894b0a | ||
|
bc664a5e30 | ||
|
f23bf85aa0 | ||
|
96de0cd09a | ||
|
ec5c69e126 | ||
|
56926bd623 | ||
|
e8f1fba482 | ||
|
d5249de256 | ||
|
6d65fb0495 | ||
|
98588d9787 | ||
|
dfbb944fd1 | ||
|
13ab96d1a8 | ||
|
36360df6a7 | ||
|
dd51565fde | ||
|
ca1b03e125 | ||
|
edcd66abac | ||
|
af76751329 | ||
|
4c167fe353 | ||
|
88af9ccd9c | ||
|
9ef7d3eead | ||
|
7f9a0ed63d | ||
|
f3655a2e3f | ||
|
7411aa59f7 | ||
|
0524530f6c | ||
|
96de404c7e | ||
|
d67c6b510f | ||
|
0cf3435546 | ||
|
d57dae184c | ||
|
d3c684cbe9 | ||
|
edd746136a | ||
|
3d73fce56f | ||
|
f57e92dffd | ||
|
ab70b69577 | ||
|
887b7547fa | ||
|
195b512434 | ||
|
0b70a46df8 | ||
|
295cc105cd | ||
|
1ed5c6600e | ||
|
127b34f222 | ||
|
e24e0ea1e2 | ||
|
5991aae9a1 | ||
|
7870e74479 | ||
|
aed961525e | ||
|
33574317bc | ||
|
ad4bb5f0e8 | ||
|
0f5711baa4 | ||
|
00619e7a4a | ||
|
6de7610551 | ||
|
f1003499c9 | ||
|
694f8a348b | ||
|
f311a2ab1c | ||
|
d738f01510 | ||
|
4346bbea5e | ||
|
9590424ac7 | ||
|
a65c30796c | ||
|
bb7c2acf7d | ||
|
a27e9e6713 | ||
|
66f777672d | ||
|
8e98632656 | ||
|
bbe9205d08 | ||
|
170bb6836c | ||
|
2c070e21df | ||
|
0497fbdf0e | ||
|
039f852dea | ||
|
7b80a191a7 | ||
|
9eec520249 | ||
|
847f388894 | ||
|
d4008e06b0 | ||
|
5e8069bd8c | ||
|
0f32a421a1 | ||
|
2396dbd40b | ||
|
e150a2ee58 | ||
|
d864ffba0d | ||
|
ba2ef9fd53 | ||
|
138dd76018 | ||
|
d937b13f0b | ||
|
9031c0acbb | ||
|
60ba1ef6b4 | ||
|
8251a9ca60 | ||
|
bdbcd58116 | ||
|
7f728bc05b | ||
|
b7213eb936 | ||
|
db54d95035 | ||
|
07938017b2 | ||
|
82cb825eb3 | ||
|
e32838bc73 | ||
|
8edfed5320 | ||
|
7ea64a0272 | ||
|
9426f3fb8e | ||
|
e08c4510fe | ||
|
889ea80bc5 | ||
|
81e359e5f3 | ||
|
ad1e909bea | ||
|
55ec1eff1a | ||
|
5c9ad60917 | ||
|
b9f801d86d | ||
|
f8ee5caf6a | ||
|
10e439bdf7 | ||
|
e6ca97761f | ||
|
37726ab222 | ||
|
731bce85f2 | ||
|
3c2e61f776 | ||
|
62ebeaa577 | ||
|
cfa1066977 | ||
|
509539aac1 | ||
|
1fa2b062b2 | ||
|
205af72e4f | ||
|
0acce96acf | ||
|
6b1b61ac93 | ||
|
7027d7f5f4 | ||
|
7f6c0807ad | ||
|
6fd28935ea | ||
|
c941d6e84f | ||
|
7f45b906a7 | ||
|
6f39828294 | ||
|
61fa0ba704 | ||
|
613edec9ce | ||
|
6f02cab725 | ||
|
e0a01acb6c | ||
|
dba309726a | ||
|
29160bd92c | ||
|
401f20e45b | ||
|
bd0d1cc34d | ||
|
d82389bb9d | ||
|
56d0a50c16 | ||
|
de65ccc56e | ||
|
a25a23f754 | ||
|
80a209a966 | ||
|
fd850febb5 | ||
|
c29351cb09 | ||
|
8ec68237f0 | ||
|
2d0e97b17e | ||
|
41f65a03a7 | ||
|
0d402116bb | ||
|
3f1a0fee89 | ||
|
85bfd18c93 | ||
|
e6795c22e7 | ||
|
2d5366a0bb | ||
|
490b37b0cc | ||
|
b834e634a5 | ||
|
f3fcd0ec07 | ||
|
dc4ce0c51e | ||
|
d7d5e46714 | ||
|
415d3d8ecd | ||
|
efd606ea08 | ||
|
c6feca5d6a | ||
|
3027210f48 | ||
|
66580799c4 | ||
|
d95a6fbd50 | ||
|
1cabc5b311 | ||
|
cb9ec0cc39 | ||
|
f653d2a906 | ||
|
d7767ed152 | ||
|
79cfbf610a | ||
|
6ffa808775 | ||
|
a266026ab2 | ||
|
2763c7ce18 | ||
|
df594149cc | ||
|
54108ac435 | ||
|
aadcbe46bd | ||
|
82d286e256 | ||
|
f9e957bd09 | ||
|
beda2d247c | ||
|
e9febcee73 | ||
|
2f8b038959 | ||
|
a4d154475c | ||
|
39a5cdcbb2 | ||
|
40e7f6431a | ||
|
639180fd33 | ||
|
cf3505af95 | ||
|
cfd2811bb5 | ||
|
ea4fe17e61 | ||
|
039eb70ae6 | ||
|
ba38dc5d4d | ||
|
0bf21ae4a0 | ||
|
f7843b9cb5 | ||
|
d763c5d8f2 | ||
|
90344ea57e | ||
|
1c7c9236aa | ||
|
8277988cb6 | ||
|
341e8bc381 | ||
|
8eccecfceb | ||
|
646dae0b7b | ||
|
41468099fc | ||
|
5245f3a8e5 | ||
|
11a19d4689 | ||
|
379062d92d | ||
|
03a0246173 | ||
|
8ffa28de7e | ||
|
8ac698929b | ||
|
e883ebde72 | ||
|
130ad3a35b | ||
|
005264f1a4 | ||
|
651ceacb48 | ||
|
165cf7634a | ||
|
80e01f6494 | ||
|
022552d620 | ||
|
5347a360b9 | ||
|
37b67dead1 | ||
|
e17e918e09 | ||
|
841393f1bd | ||
|
02dae71880 | ||
|
17cf180851 | ||
|
f9fe918fda | ||
|
ba6f376173 | ||
|
23ad03be9f | ||
|
32f877bed6 | ||
|
7ec5c4a35e | ||
|
33f9b007f6 | ||
|
d8e026e227 | ||
|
b47314e482 | ||
|
44b04a5392 | ||
|
c8ed881184 | ||
|
80fd3026ed | ||
|
fa2dcc9cab | ||
|
93ca788eea | ||
|
a175b1e738 | ||
|
e7ff77eaf3 | ||
|
944eb4e461 | ||
|
00df125088 | ||
|
86043467de | ||
|
c3108fab74 | ||
|
d30ab165fe | ||
|
8b0a341c52 | ||
|
20ec8f131d | ||
|
8b60a8d3c4 | ||
|
7ff5766cee |
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/tmp.txt
|
Before Width: | Height: | Size: 727 KiB After Width: | Height: | Size: 1.2 MiB |
BIN
Previews/10. My Media Cover Arts.png
Normal file
After Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 958 KiB After Width: | Height: | Size: 1006 KiB |
Before Width: | Height: | Size: 582 KiB After Width: | Height: | Size: 892 KiB |
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 203 KiB |
Before Width: | Height: | Size: 915 KiB After Width: | Height: | Size: 1.7 MiB |
BIN
Previews/Outdated-previews/1. Homepage.png
Normal file
After Width: | Height: | Size: 727 KiB |
BIN
Previews/Outdated-previews/2. Movies Library.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
Previews/Outdated-previews/3. Sidebar.png
Normal file
After Width: | Height: | Size: 958 KiB |
BIN
Previews/Outdated-previews/4. Movie Page.png
Normal file
After Width: | Height: | Size: 582 KiB |
BIN
Previews/Outdated-previews/6. Settings Page.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
Previews/Outdated-previews/7. Metadata Menu.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
Previews/Outdated-previews/8. Dashboard Settings.png
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
Previews/Outdated-previews/9. Web Player.png
Normal file
After Width: | Height: | Size: 915 KiB |
62
README.md
@@ -12,6 +12,7 @@ This is a Jellyfin theme inspired from JellySeerr to improve the overall look an
|
|||||||
- reduced clutter by hiding unimportant buttons and elements
|
- reduced clutter by hiding unimportant buttons and elements
|
||||||
- overall rounded design
|
- overall rounded design
|
||||||
- stylish borders, hover effects and shadows
|
- stylish borders, hover effects and shadows
|
||||||
|
- various fixes to the user experience
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
@@ -24,7 +25,7 @@ https://github.com/user-attachments/assets/7a492f89-9c82-4038-a07a-a9a59e4f8eef
|
|||||||
### 🖼️ Previews
|
### 🖼️ Previews
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>Click here to reveal</i></summary>
|
<summary><i>Click here to reveal (last updated: 2025-01-19)</i></summary>
|
||||||
|
|
||||||
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/1.%20Homepage.png" style="width:360px;height:auto;"></img>
|
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/1.%20Homepage.png" style="width:360px;height:auto;"></img>
|
||||||
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/2.%20Movies%20Library.png" style="width:360px;height:auto;"></img>
|
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/2.%20Movies%20Library.png" style="width:360px;height:auto;"></img>
|
||||||
@@ -66,10 +67,46 @@ https://github.com/user-attachments/assets/7a492f89-9c82-4038-a07a-a9a59e4f8eef
|
|||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### 🧩 How to customise this theme?
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>1. Custom media covers for user media libraries</i></summary>
|
||||||
|
|
||||||
|
- [Preview](https://private-user-images.githubusercontent.com/32175188/438879202-343b8aae-fbae-4ad6-bff7-c1baf5573b1a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDYyMDMyNTEsIm5iZiI6MTc0NjIwMjk1MSwicGF0aCI6Ii8zMjE3NTE4OC80Mzg4NzkyMDItMzQzYjhhYWUtZmJhZS00YWQ2LWJmZjctYzFiYWY1NTczYjFhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA1MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNTAyVDE2MjIzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI3MjE3YjNjOGU2ZDU2YTdmMTg0MzA5ZGYyMGY0N2UxZmU4OGRlNmM5MjkzZTVhZmU5NTVlYmNlOTE5OTE4ZGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.kQTa5XFb2lEHxPJeCG8eOnAqrWLdoSZXWSxF_R0NscQ)
|
||||||
|
- Read more about this experimental add-on [here](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<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)
|
||||||
|
- 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.
|
||||||
|
```
|
||||||
|
:root{
|
||||||
|
--loginPageBgUrl: url("<YOUR-JELLYFIN-SERVER-ADDRESS>/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2");
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- Third, replace `<YOUR-JELLYFIN-SERVER-ADDRESS>` with your Jellyfin server address, for example, `http://192.168.0.1:8097`.
|
||||||
|
- Don't forget the correct http or https in your domain.
|
||||||
|
- You can also modify the parameters, for example blur size or the resolution, according to your liking.
|
||||||
|
- Once done, save and refresh your apps and webpages.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>3. Bring back the home button in the app header</i></summary>
|
||||||
|
|
||||||
|
- Read more about steps [here](https://github.com/lscambo13/ElegantFin/issues/51)
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### 🆗 Tested on
|
### 🆗 Tested on
|
||||||
- Jellyfin Server v10.10.3
|
- Jellyfin Server v10.10.6
|
||||||
- Jellyfin Android App v2.6.2
|
- Jellyfin Android App v2.6.2
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
@@ -79,7 +116,7 @@ https://github.com/user-attachments/assets/7a492f89-9c82-4038-a07a-a9a59e4f8eef
|
|||||||
<summary>1️⃣ - <i>How do I check if I am using the latest version on ElegantFin?</i></summary>
|
<summary>1️⃣ - <i>How do I check if I am using the latest version on ElegantFin?</i></summary>
|
||||||
|
|
||||||
- To make sure that you are using the latest version of ElegantFin, check the version number at the bottom in the Dashboard screen.
|
- To make sure that you are using the latest version of ElegantFin, check the version number at the bottom in the Dashboard screen.
|
||||||
- It should be something like ElegantFin v24.12.XX
|
- It should be something like ElegantFin v25.03.XX
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
@@ -96,11 +133,24 @@ https://github.com/user-attachments/assets/7a492f89-9c82-4038-a07a-a9a59e4f8eef
|
|||||||
<summary>3️⃣ - <i>Why do I notice visual bugs and inconsistencies on Jellyfin Media Player?</i></summary>
|
<summary>3️⃣ - <i>Why do I notice visual bugs and inconsistencies on Jellyfin Media Player?</i></summary>
|
||||||
|
|
||||||
- Currently JMP uses Qt 5.x which uses an outdated web engine, so many new CSS features do not work. Once they release a new version based on Qt 6.x, most issues should automatically be resolved. Until then, I advise using the web app instead.
|
- Currently JMP uses Qt 5.x which uses an outdated web engine, so many new CSS features do not work. Once they release a new version based on Qt 6.x, most issues should automatically be resolved. Until then, I advise using the web app instead.
|
||||||
- Are you not using JMP and still facing issues? See the 4th point below.
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>4️⃣ - <i>How do I report bugs/issues?</i></summary>
|
<summary>4️⃣ - <i>All the icons on my LG TV seem to be broken. How to fix them?</i></summary>
|
||||||
|
|
||||||
|
- 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>
|
||||||
|
<summary>5️⃣ - <i>How do I report bugs/issues?</i></summary>
|
||||||
|
|
||||||
- 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.
|
- 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).
|
- Alternatively, create a new issue [here](https://github.com/lscambo13/ElegantFin/issues/new/choose).
|
||||||
@@ -108,7 +158,7 @@ https://github.com/user-attachments/assets/7a492f89-9c82-4038-a07a-a9a59e4f8eef
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
<details>
|
<details>
|
||||||
<summary>5️⃣ - <i>When can I expect another update?</i></summary>
|
<summary>6️⃣ - <i>When can I expect another update?</i></summary>
|
||||||
|
|
||||||
- 🤷
|
- 🤷
|
||||||
</details>
|
</details>
|
||||||
|
1355
Theme/ElegantFin-theme-v25.01.03.css
Normal file
2115
Theme/ElegantFin-theme-v25.01.25.css
Normal file
2389
Theme/ElegantFin-theme-v25.03.18.css
Normal file
2410
Theme/ElegantFin-theme-v25.05.03.css
Normal file
1
Theme/assets/add-ons/custom-media-covers-latest-min.css
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
:root{--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);--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)}.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"],[data-type="Series"],[data-type="Folder"]) .cardImageIcon.material-icons:not(.quiz)::before{display:none}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;background-image:var(--urlPlaylistsCover)!important}.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent{filter:contrast(.85);background-size:cover!important;background-position:50%!important;background-blend-mode:multiply}div[data-collectiontype="movies"] .cardImageContainer.cardContent::before{content:"Movies"}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(.85);background-size:cover!important;background-position:50%!important;background-blend-mode:multiply}
|
171
Theme/assets/add-ons/custom-media-covers-nightly.css
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
/* Add-on: Custom media covers 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);
|
||||||
|
--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);
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"],[data-type="Series"],[data-type="Folder"]) .cardImageIcon.material-icons:not(.quiz)::before{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These show up when no image is set */
|
||||||
|
|
||||||
|
/* div[data-collectiontype="movies"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayMoviesCover) !important;
|
||||||
|
background-image: var(--urlMoviesCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="tvshows"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayTvshowsCover) !important;
|
||||||
|
background-image: var(--urlTvshowsCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="livetv"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayLivetvCover) !important;
|
||||||
|
background-image: var(--urlLivetvCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="music"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayMusicCover) !important;
|
||||||
|
background-image: var(--urlMusicCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="homevideos"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayHomevideosCover) !important;
|
||||||
|
background-image: var(--urlHomevideosCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="books"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayBooksCover) !important;
|
||||||
|
background-image: var(--urlBooksCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="boxsets"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayBoxsetsCover) !important;
|
||||||
|
background-image: var(--urlBoxsetsCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="folders"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: 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;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="movies"] .cardImageContainer.cardContent::before {
|
||||||
|
content: "Movies";
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
171
Theme/assets/add-ons/custom-media-covers-v25.01.25.css
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
/* Add-on: Custom media covers 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);
|
||||||
|
--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);
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"],[data-type="Series"],[data-type="Folder"]) .cardImageIcon.material-icons:not(.quiz)::before{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These show up when no image is set */
|
||||||
|
|
||||||
|
/* div[data-collectiontype="movies"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayMoviesCover) !important;
|
||||||
|
background-image: var(--urlMoviesCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="tvshows"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayTvshowsCover) !important;
|
||||||
|
background-image: var(--urlTvshowsCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="livetv"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayLivetvCover) !important;
|
||||||
|
background-image: var(--urlLivetvCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="music"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayMusicCover) !important;
|
||||||
|
background-image: var(--urlMusicCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="homevideos"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayHomevideosCover) !important;
|
||||||
|
background-image: var(--urlHomevideosCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="books"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayBooksCover) !important;
|
||||||
|
background-image: var(--urlBooksCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="boxsets"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: var(--colorOverlayBoxsetsCover) !important;
|
||||||
|
background-image: var(--urlBoxsetsCover) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="folders"] .cardImageContainer.defaultCardBackground {
|
||||||
|
background: 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;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
div[data-collectiontype="movies"] .cardImageContainer.cardContent::before {
|
||||||
|
content: "Movies";
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
BIN
Theme/assets/img/library-covers/books.webp
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
Theme/assets/img/library-covers/boxsets.webp
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
Theme/assets/img/library-covers/folders.webp
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Theme/assets/img/library-covers/homevideos.webp
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
Theme/assets/img/library-covers/livetv.webp
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
Theme/assets/img/library-covers/movies.webp
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
Theme/assets/img/library-covers/music.webp
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
Theme/assets/img/library-covers/originals/books.jpg
Normal file
After Width: | Height: | Size: 413 KiB |
BIN
Theme/assets/img/library-covers/originals/boxsets.jpg
Normal file
After Width: | Height: | Size: 485 KiB |
BIN
Theme/assets/img/library-covers/originals/folders.jpg
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
Theme/assets/img/library-covers/originals/homevideos.jpg
Normal file
After Width: | Height: | Size: 2.0 MiB |
BIN
Theme/assets/img/library-covers/originals/livetv.jpg
Normal file
After Width: | Height: | Size: 790 KiB |
BIN
Theme/assets/img/library-covers/originals/movies.jpg
Normal file
After Width: | Height: | Size: 383 KiB |
BIN
Theme/assets/img/library-covers/originals/music.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
Theme/assets/img/library-covers/originals/playlists.jpg
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
Theme/assets/img/library-covers/originals/tvshows.jpg
Normal file
After Width: | Height: | Size: 547 KiB |
BIN
Theme/assets/img/library-covers/playlists.webp
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
Theme/assets/img/library-covers/tvshows.webp
Normal file
After Width: | Height: | Size: 84 KiB |
226
custom-media-covers.md
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
# 🧩 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)
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### 🖼️ Presets: Modify these styles according to your own liking
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>This is how the covers look without this add-on.</i></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>This is how they look with this add-on, by default.</i></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>You can also change these covers.</i></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>You can achieve a minimal design too.</i></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--colorOverlayMoviesCover: transparent;
|
||||||
|
--colorOverlayTvshowsCover: transparent;
|
||||||
|
--colorOverlayLivetvCover: transparent;
|
||||||
|
--colorOverlayPlaylistsCover: transparent;
|
||||||
|
--colorOverlayBoxsetsCover: transparent;
|
||||||
|
--colorOverlayMusicCover: transparent;
|
||||||
|
--colorOverlayHomevideosCover: transparent;
|
||||||
|
--colorOverlayBooksCover: transparent;
|
||||||
|
--colorOverlayFoldersCover: transparent;
|
||||||
|
--urlMoviesCover: transparent;
|
||||||
|
--urlTvshowsCover: transparent;
|
||||||
|
--urlLivetvCover: transparent;
|
||||||
|
--urlPlaylistsCover: transparent;
|
||||||
|
--urlBoxsetsCover: transparent;
|
||||||
|
--urlMusicCover: transparent;
|
||||||
|
--urlHomevideosCover: transparent;
|
||||||
|
--urlBooksCover: transparent;
|
||||||
|
--urlFoldersCover: transparent;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--colorOverlayMoviesCover: transparent;
|
||||||
|
--colorOverlayTvshowsCover: transparent;
|
||||||
|
--colorOverlayLivetvCover: transparent;
|
||||||
|
--colorOverlayPlaylistsCover: transparent;
|
||||||
|
--colorOverlayBoxsetsCover: transparent;
|
||||||
|
--colorOverlayMusicCover: transparent;
|
||||||
|
--colorOverlayHomevideosCover: transparent;
|
||||||
|
--colorOverlayBooksCover: transparent;
|
||||||
|
--colorOverlayFoldersCover: transparent;
|
||||||
|
--urlMoviesCover: var(--cardBackgroundGradient);
|
||||||
|
--urlTvshowsCover: var(--cardBackgroundGradient);
|
||||||
|
--urlLivetvCover: var(--cardBackgroundGradient);
|
||||||
|
--urlPlaylistsCover: var(--cardBackgroundGradient);
|
||||||
|
--urlBoxsetsCover: var(--cardBackgroundGradient);
|
||||||
|
--urlMusicCover: var(--cardBackgroundGradient);
|
||||||
|
--urlHomevideosCover: var(--cardBackgroundGradient);
|
||||||
|
--urlBooksCover: var(--cardBackgroundGradient);
|
||||||
|
--urlFoldersCover: var(--cardBackgroundGradient);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>Need something in between?</i></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
|
||||||
|
:root{
|
||||||
|
--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);
|
||||||
|
--urlMoviesCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlTvshowsCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlLivetvCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlPlaylistsCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlBoxsetsCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlMusicCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlHomevideosCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlBooksCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
--urlFoldersCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### 👇 How to enable this add-on?
|
||||||
|
|
||||||
|
- Paste the following at the end in Custom CSS code box:
|
||||||
|
|
||||||
|
```
|
||||||
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
```
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### ⚙️ How to configure this add-on?
|
||||||
|
|
||||||
|
- 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>
|
||||||
|
|
||||||
|
- To configure your theme to use the custom images, you'll need to input a URL pointing to an image in variables starting with '--url' and an overlay color in variables starting with '--color'.
|
||||||
|
|
||||||
|
- The ideal Jellyfin cover sizes are `960px x 540px`, and the colors can be in rgb format i.e. `rbg(128, 128, 128)`.
|
||||||
|
|
||||||
|
- Below are all the configurable variables, but you should remove the entries you do not intend to modify:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
:root{
|
||||||
|
|
||||||
|
<!-- overlay colors; change according to your image. -->
|
||||||
|
|
||||||
|
--colorOverlayMoviesCover: rgb();
|
||||||
|
--colorOverlayTvshowsCover: rgb();
|
||||||
|
--colorOverlayLivetvCover: rgb();
|
||||||
|
--colorOverlayPlaylistsCover: rgb();
|
||||||
|
--colorOverlayBoxsetsCover: rgb();
|
||||||
|
--colorOverlayMusicCover: rgb();
|
||||||
|
--colorOverlayHomevideosCover: rgb();
|
||||||
|
--colorOverlayBooksCover: rgb();
|
||||||
|
--colorOverlayFoldersCover: rgb();
|
||||||
|
|
||||||
|
<!-- cover images; input the url pointing to an image. -->
|
||||||
|
|
||||||
|
--urlMoviesCover: url();
|
||||||
|
--urlTvshowsCover: url();
|
||||||
|
--urlLivetvCover: url();
|
||||||
|
--urlBoxsetsCover: url();
|
||||||
|
--urlMusicCover: url();
|
||||||
|
--urlHomevideosCover: url();
|
||||||
|
--urlBooksCover: url();
|
||||||
|
--urlFoldersCover: url();
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
### 🆗 Read this example:
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>Detailed steps for server-side implementation</i></summary>
|
||||||
|
|
||||||
|
1. Open Dashboard from Administration tab in Settings.
|
||||||
|
2. Select General tab from the side bar.
|
||||||
|
3. Scroll down to find Custom CSS code box under Branding section.
|
||||||
|
4. Paste the custom css in Custom CSS code box.
|
||||||
|
5. Click save
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><i>Detailed steps for client-side implementation</i></summary>
|
||||||
|
|
||||||
|
1. Open Display tab in Settings.
|
||||||
|
2. Scroll down to find Custom CSS code box.
|
||||||
|
3. Paste the custom css in Custom CSS code box.
|
||||||
|
4. Click save.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|