mirror of
https://github.com/lscambo13/ElegantFin.git
synced 2025-12-27 22:37:47 +00:00
Compare commits
59 Commits
d1b4bc1367
...
v25.11.25
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
beaf6415d0 | ||
|
|
a7216ebbdb | ||
|
|
cf17fb6538 | ||
|
|
30e0ad5488 | ||
|
|
ee5ad227d0 | ||
|
|
b5f5a765ea | ||
|
|
864834b5a8 | ||
|
|
0243875a8c | ||
|
|
87374d3d3e | ||
|
|
e9bee92007 | ||
|
|
10239e818e | ||
|
|
af01c3636d | ||
|
|
17e2fe6940 | ||
|
|
69f4540ec5 | ||
|
|
8f620b489f | ||
|
|
556acc22c5 | ||
|
|
1e0eaae2a0 | ||
|
|
82dd0469d5 | ||
|
|
36290112c3 | ||
|
|
fa6dde9f1b | ||
|
|
8575b9b2b4 | ||
|
|
bf23c34fbf | ||
|
|
f7aae10db0 | ||
|
|
349a720cd2 | ||
|
|
b9ceded828 | ||
|
|
1647f40140 | ||
|
|
bfdd8d8576 | ||
|
|
8398ee7058 | ||
|
|
c5dca7ffb3 | ||
|
|
be84634dae | ||
|
|
733e091072 | ||
|
|
42bc537897 | ||
|
|
48811065aa | ||
|
|
33afcd750c |
26
README.md
26
README.md
@@ -205,7 +205,7 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
</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" />
|
||||
|
||||
@@ -217,6 +217,23 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
- 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>
|
||||
|
||||
<hr>
|
||||
|
||||
### 🆗 Tested on
|
||||
@@ -231,7 +248,10 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd
|
||||
<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 +261,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>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
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";
|
||||
[data-prefix="REC"] .cardContent {
|
||||
background-color: var(--colorOverlayRecordedtvCover) !important;
|
||||
background-image: var(--urlRecordedtvCover) !important;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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%}}
|
||||
@@ -1,20 +1,5 @@
|
||||
/* Add-on: Media Bar plugin support nightly for the ElegantFin Theme for Jellyfin by lscambo13 */
|
||||
/* this styles the media bar plugin - start */
|
||||
.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,
|
||||
@@ -23,7 +8,7 @@
|
||||
}
|
||||
|
||||
.play-button {
|
||||
font-family: 'Inter';
|
||||
font-family: "Inter";
|
||||
font-size: 1em;
|
||||
font-weight: 500;
|
||||
}
|
||||
@@ -31,8 +16,8 @@
|
||||
.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));
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -40,7 +25,6 @@
|
||||
transform-origin: center left;
|
||||
}
|
||||
|
||||
/* this is my own take */
|
||||
.rating-value {
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
@@ -53,21 +37,13 @@
|
||||
#slides-container {
|
||||
width: calc(100vw - (2 * var(--sidePadding)));
|
||||
height: 62%;
|
||||
top: calc(1.5 * var(--appBarHeight));
|
||||
top: var(--appBarHeight);
|
||||
border: var(--defaultBorder);
|
||||
border-radius: var(--largerRadius);
|
||||
transition: all .125s, border 0s;
|
||||
transition: all 0.125s, border 0s;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.layout-tv #slides-container {
|
||||
top: 0em;
|
||||
}
|
||||
|
||||
.layout-mobile #slides-container {
|
||||
top: 10em;
|
||||
}
|
||||
|
||||
.logo-container {
|
||||
top: 10vh;
|
||||
}
|
||||
@@ -80,7 +56,7 @@
|
||||
}
|
||||
|
||||
.backdrop-overlay {
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, .85), 40%, transparent);
|
||||
background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), 40%, transparent);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 767px) and (orientation: portrait) {
|
||||
@@ -89,10 +65,6 @@
|
||||
transform: translateX(-50%) scale(0.8);
|
||||
}
|
||||
|
||||
.info-container {
|
||||
/* top: calc(50% + 6vh); */
|
||||
}
|
||||
|
||||
.tomato-rating {
|
||||
display: none;
|
||||
}
|
||||
@@ -108,8 +80,24 @@
|
||||
|
||||
@media (min-width: 75em) {
|
||||
#slides-container {
|
||||
top: calc(.5 * var(--appBarHeight));
|
||||
top: calc(0.5 * var(--appBarHeight));
|
||||
}
|
||||
}
|
||||
|
||||
/* this styles the media bar plugin - end */
|
||||
@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,11 +1,12 @@
|
||||
# 🧩 Add-on: Custom media covers for ElegantFin
|
||||
# 🧩 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 with previews: Modify these styles according to your own liking
|
||||
### 🖼️ Presets with previews: Modify these styles according to your own liking
|
||||
|
||||
<details>
|
||||
<summary><i>This is how the covers look without this add-on.</i></summary>
|
||||
@@ -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%);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -128,9 +146,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
|
||||
<hr>
|
||||
|
||||
### 👇 How to enable this add-on?
|
||||
### 👇 How to enable this add-on?
|
||||
|
||||
- Paste the following at the end in Custom CSS code box:
|
||||
- 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");
|
||||
@@ -138,11 +156,9 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
||||
|
||||
<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.
|
||||
|
||||
### ⚙️ 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>
|
||||
@@ -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>
|
||||
|
||||
```
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"prettier.useTabs": false,
|
||||
"prettier.printWidth": 120,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user