mirror of
https://github.com/lscambo13/ElegantFin.git
synced 2026-02-11 08:45:11 +00:00
Compare commits
114 Commits
v25.08.08
...
c665c54f53
| 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 | ||
|
|
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 | ||
|
|
d1b4bc1367 | ||
|
|
3b15cabe57 | ||
|
|
8c38f33628 | ||
|
|
6b1c3a67f3 | ||
|
|
1918c9b054 | ||
|
|
b2d7441551 | ||
|
|
8b6f499b91 | ||
|
|
5209cbb8f1 | ||
|
|
4fee1b3a44 | ||
|
|
44be2db862 | ||
|
|
855cbfa901 | ||
|
|
e674310187 | ||
|
|
2ea0f55e6c | ||
|
|
a1f2360f34 | ||
|
|
5ab39dd7e2 | ||
|
|
5350c7836e | ||
|
|
5988cee24c | ||
|
|
eff306a900 | ||
|
|
1571e301e0 | ||
|
|
ea12292a77 | ||
|
|
4a045ef8c9 | ||
|
|
8536ee6a90 | ||
|
|
e62de7469c | ||
|
|
5994dde7a1 | ||
|
|
309abc2dc3 | ||
|
|
72cc664480 | ||
|
|
10900884e7 | ||
|
|
e47b7813cf | ||
|
|
07fcd74ccd | ||
|
|
9d1c26e798 | ||
|
|
9679d8db4d | ||
|
|
4eb19f2bd3 | ||
|
|
4b8838b1c0 | ||
|
|
818f755610 | ||
|
|
7372edd10f | ||
|
|
24afe0f45c | ||
|
|
fb57bffd2f | ||
|
|
dd4e2b392b | ||
|
|
d5bf3ed7ad | ||
|
|
348495cffb | ||
|
|
025dbd7c1d | ||
|
|
00f14e00dd | ||
|
|
f9bef351d9 |
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -7,6 +7,11 @@ assignees: ''
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
**Checklist**
|
||||||
|
- [ ] I have read the README.md
|
||||||
|
- [ ] I have searched through the other open and closed issues using the GitHub search bar
|
||||||
|
- [ ] I have made sure that my issue is not a duplicate
|
||||||
|
|
||||||
**Describe the bug**
|
**Describe the bug**
|
||||||
A clear and concise description of what the bug is.
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
@@ -17,20 +22,26 @@ A clear and concise description of what you expected to happen.
|
|||||||
If applicable, add screenshots to help explain your problem.
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
**ElegantFin:**
|
**ElegantFin:**
|
||||||
- Version [e.g. 24.12.11]
|
- Version [e.g. 24.12.01]
|
||||||
|
|
||||||
**Desktop (please complete the following information):**
|
**Jellyfin Server:**
|
||||||
- OS: [e.g. iOS]
|
- Version [e.g. 10.10.3]
|
||||||
- Browser [e.g. chrome, safari]
|
|
||||||
- Version [e.g. 22]
|
**Desktop:**
|
||||||
|
- OS: [e.g. Windows]
|
||||||
|
- Browser: [e.g. chrome, safari]
|
||||||
|
- Browser Version: [e.g. 22]
|
||||||
- Screen Resolution [e.g. 1920x1080]
|
- Screen Resolution [e.g. 1920x1080]
|
||||||
|
|
||||||
**Smartphone or TV (please complete the following information):**
|
**Smartphone or TV:**
|
||||||
- Device: [e.g. iPhone6]
|
- Device: [e.g. iPhone6]
|
||||||
- OS: [e.g. iOS8.1]
|
- OS: [e.g. iOS8.1]
|
||||||
- Browser [e.g. stock browser, safari]
|
- Browser: [e.g. stock browser, safari]
|
||||||
- Version [e.g. 22]
|
- Browser Version: [e.g. 22]
|
||||||
|
- Jellyfin App Version:
|
||||||
|
|
||||||
|
|
||||||
**Additional context**
|
**Are you using any plugins or extra CSS configuration**
|
||||||
Add any other context about the problem here.
|
- Add any third-party plugins or CSS configuration you use.
|
||||||
|
- [e.g. Media Bar, Custom Tabs etc]
|
||||||
|
- [e.g. other custom css modifications]
|
||||||
|
|||||||
304
README.md
304
README.md
@@ -1,105 +1,119 @@
|
|||||||
<!-- Banner Image -->
|
<!-- Banner Image -->
|
||||||
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Theme/assets/img/banner.png?raw=true" alt="ElegantFin Theme for Jellyfin - Banner">
|
<img src="https://github.com/lscambo13/ElegantFin/blob/main/Theme/assets/img/banner.png?raw=true" alt="ElegantFin Theme for Jellyfin - Banner">
|
||||||
|
|
||||||
# ⭐ ElegantFin Theme
|
<div align="center">
|
||||||
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.
|
<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)
|
#### **Author:** [lscambo13](https://github.com/lscambo13)
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### ✨ Key Features
|
### ✨ Key Features
|
||||||
- modern layouts and color tones
|
|
||||||
- new and improved animations on most elements
|
- modern layouts and color tones
|
||||||
- rounded corners and even spacing everywhere
|
- new and improved animations on most elements
|
||||||
- stylish borders, hover effects and shadows
|
- rounded corners and even spacing everywhere
|
||||||
- neat layout that puts important stuff up front
|
- stylish borders, hover effects and shadows
|
||||||
- reduced unnecessary clutter
|
- neat layout that puts important stuff up front
|
||||||
- various fixes to improve the user experience
|
- reduced unnecessary clutter
|
||||||
- same clean design across phone, desktop, and TV
|
- various fixes to improve the user experience
|
||||||
|
- same clean design across phone, desktop, and TV
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### 🖼️ Theme Showcase
|
### 🖼️ Theme Showcase
|
||||||
|
|
||||||
Captured on ElegantFin v25.08.02
|
Captured on ElegantFin v25.08.02
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> 💻 <i>Desktop and </i>📱 <i>Mobile Screenshots</i></summary>
|
<summary> 💻 <i>Desktop and </i>📱 <i>Mobile Screenshots</i></summary>
|
||||||
|
|
||||||
| Desktop | Mobile |
|
| 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/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/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> |
|
| <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> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/4.%20Movie%20Page.webp?raw=true"><br><strong>Movie Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/4.%20Movie%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/4.%20Movie%20Page.webp?raw=true"><br><strong>Movie Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/4.%20Movie%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/12.%20Movie%20Details.webp?raw=true"><br><strong>Movie Details</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/12.%20Movie%20Details.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/12.%20Movie%20Details.webp?raw=true"><br><strong>Movie Details</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/12.%20Movie%20Details.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/11.%20TV%20Show%20Page.webp?raw=true"><br><strong>TV Show Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/11.%20TV%20Show%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/11.%20TV%20Show%20Page.webp?raw=true"><br><strong>TV Show Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/11.%20TV%20Show%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/18.%20TV%20Episode%20Page.webp?raw=true"><br><strong>TV Episode Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/18.%20TV%20Episode%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/18.%20TV%20Episode%20Page.webp?raw=true"><br><strong>TV Episode Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/18.%20TV%20Episode%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/16.%20TV%20Show%20Seasons.webp?raw=true"><br><strong>TV Show Seasons</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/16.%20TV%20Show%20Seasons.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/16.%20TV%20Show%20Seasons.webp?raw=true"><br><strong>TV Show Seasons</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/16.%20TV%20Show%20Seasons.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/9.%20Web%20Player.webp?raw=true"><br><strong>Web Player</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/9.%20Web%20Player.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/9.%20Web%20Player.webp?raw=true"><br><strong>Web Player</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/9.%20Web%20Player.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/17.%20Cast%20Page.webp?raw=true"><br><strong>Cast Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/17.%20Cast%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/17.%20Cast%20Page.webp?raw=true"><br><strong>Cast Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/17.%20Cast%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/14.%20Artist%20Page.webp?raw=true"><br><strong>Artist Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/14.%20Artist%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/14.%20Artist%20Page.webp?raw=true"><br><strong>Artist Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/14.%20Artist%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/15.%20Music%20Player.webp?raw=true"><br><strong>Music Player</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/15.%20Music%20Player.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/15.%20Music%20Player.webp?raw=true"><br><strong>Music Player</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/15.%20Music%20Player.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/13.%20Book%20Page.webp?raw=true"><br><strong>Book Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/13.%20Book%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/13.%20Book%20Page.webp?raw=true"><br><strong>Book Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/13.%20Book%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/3.%20Sidebar.webp?raw=true"><br><strong>Sidebar</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/3.%20Sidebar.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/3.%20Sidebar.webp?raw=true"><br><strong>Sidebar</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/3.%20Sidebar.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/5.%20Extra%20Dialog.webp?raw=true"><br><strong>Extra Dialog</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/5.%20Extra%20Dialog.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/5.%20Extra%20Dialog.webp?raw=true"><br><strong>Extra Dialog</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/5.%20Extra%20Dialog.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/6.%20Settings%20Page.webp?raw=true"><br><strong>Settings Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/6.%20Settings%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/6.%20Settings%20Page.webp?raw=true"><br><strong>Settings Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/6.%20Settings%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/7.%20Metadata%20Menu.webp?raw=true"><br><strong>Metadata Menu</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/7.%20Metadata%20Menu.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/7.%20Metadata%20Menu.webp?raw=true"><br><strong>Metadata Menu</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/7.%20Metadata%20Menu.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/8.%20Dashboard%20Settings.webp?raw=true"><br><strong>Dashboard Settings</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/8.%20Dashboard%20Settings.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/8.%20Dashboard%20Settings.webp?raw=true"><br><strong>Dashboard Settings</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/8.%20Dashboard%20Settings.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/19.%20Live%20TV%20Page.webp?raw=true"><br><strong>Live TV Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/19.%20Live%20TV%20Page.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/19.%20Live%20TV%20Page.webp?raw=true"><br><strong>Live TV Page</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/19.%20Live%20TV%20Page.webp?raw=true"></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/20.%20Live%20TV%20Guide.webp?raw=true"><br><strong>Live TV Guide</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/20.%20Live%20TV%20Guide.webp?raw=true"></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/desktop/20.%20Live%20TV%20Guide.webp?raw=true"><br><strong>Live TV Guide</strong></div> | <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/mobile/20.%20Live%20TV%20Guide.webp?raw=true"></div> |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> 📺 <i>TV Screenshots</i></summary>
|
<summary> 📺 <i>TV Screenshots</i></summary>
|
||||||
|
|
||||||
| TV View |
|
| 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/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/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> |
|
| <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> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/4.%20Movie%20Page.webp?raw=true"><br><strong>Movie Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/4.%20Movie%20Page.webp?raw=true"><br><strong>Movie Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/5.%20Extra%20Dialog.webp?raw=true"><br><strong>Extra Dialog</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/5.%20Extra%20Dialog.webp?raw=true"><br><strong>Extra Dialog</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/6.%20Settings%20Page.webp?raw=true"><br><strong>Settings Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/6.%20Settings%20Page.webp?raw=true"><br><strong>Settings Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/9.%20Web%20Player.webp?raw=true"><br><strong>Web Player</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/9.%20Web%20Player.webp?raw=true"><br><strong>Web Player</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/11.%20TV%20Show%20Page.webp?raw=true"><br><strong>TV Show Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/11.%20TV%20Show%20Page.webp?raw=true"><br><strong>TV Show Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/12.%20Movie%20Details.webp?raw=true"><br><strong>Movie Details</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/12.%20Movie%20Details.webp?raw=true"><br><strong>Movie Details</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/13.%20Book%20Page.webp?raw=true"><br><strong>Book Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/13.%20Book%20Page.webp?raw=true"><br><strong>Book Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/14.%20Artist%20Page.webp?raw=true"><br><strong>Artist Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/14.%20Artist%20Page.webp?raw=true"><br><strong>Artist Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/15.%20Music%20Player.webp?raw=true"><br><strong>Music Player</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/15.%20Music%20Player.webp?raw=true"><br><strong>Music Player</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/16.%20TV%20Show%20Seasons.webp?raw=true"><br><strong>TV Show Seasons</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/16.%20TV%20Show%20Seasons.webp?raw=true"><br><strong>TV Show Seasons</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/17.%20Cast%20Page.webp?raw=true"><br><strong>Cast Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/17.%20Cast%20Page.webp?raw=true"><br><strong>Cast Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/18.%20TV%20Episode%20Page.webp?raw=true"><br><strong>TV Episode Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/18.%20TV%20Episode%20Page.webp?raw=true"><br><strong>TV Episode Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/19.%20Live%20TV%20Page.webp?raw=true"><br><strong>Live TV Page</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/19.%20Live%20TV%20Page.webp?raw=true"><br><strong>Live TV Page</strong></div> |
|
||||||
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/20.%20Live%20TV%20Guide.webp?raw=true"><br><strong>Live TV Guide</strong></div> |
|
| <div align="center"><img src="https://github.com/lscambo13/ElegantFin/blob/main/Previews/previews-v25.08.02/optimized/tv/20.%20Live%20TV%20Guide.webp?raw=true"><br><strong>Live TV Guide</strong></div> |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
||||||
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### 👇 How to install/setup this theme?
|
### 👇 How to install/setup this theme?
|
||||||
|
|
||||||
<b>Paste the following in Custom CSS code box:</b>
|
<b>Paste the following in Custom CSS code box:</b>
|
||||||
|
|
||||||
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/ElegantFin-jellyfin-theme-build-latest-minified.css");
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/ElegantFin-jellyfin-theme-build-latest-minified.css");
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>Detailed steps for server-side implementation</i></summary>
|
<summary><i>Detailed steps for server-side implementation</i></summary>
|
||||||
|
|
||||||
1. Open Dashboard from Administration tab in Settings.
|
1. Open Dashboard from Administration tab in Settings.
|
||||||
2. Select General tab from the side bar.
|
2. From the side bar, select the Branding tab if you are on Jellyfin 10.11.X or the General tab on older version.
|
||||||
3. Scroll down to find Custom CSS code box under Branding section.
|
3. Scroll down to find Custom CSS code box.
|
||||||
4. Paste the custom css in Custom CSS code box.
|
4. Paste the custom css in Custom CSS code box.
|
||||||
5. Click save
|
5. Click save
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>Detailed steps for client-side implementation</i></summary>
|
<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.
|
2. Scroll down to find Custom CSS code box.
|
||||||
3. Paste the custom css in Custom CSS code box.
|
3. Paste the custom css in Custom CSS code box.
|
||||||
4. Click save.
|
4. Click save.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
@@ -118,150 +131,203 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
|||||||
<details>
|
<details>
|
||||||
<summary><i>1. Custom media covers for user media libraries</i></summary>
|
<summary><i>1. Custom media covers for user media libraries</i></summary>
|
||||||
|
|
||||||
- [Previews](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md#%EF%B8%8F-presets-modify-these-styles-according-to-your-own-liking)
|
<img width="640" height="auto" alt="image" src="https://github.com/user-attachments/assets/05eb7cb6-3ac9-444b-8988-9776e0815664" />
|
||||||
- Read more about this experimental add-on [here](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md)
|
|
||||||
|
- Read more about this experimental add-on [here](https://github.com/lscambo13/ElegantFin/blob/main/custom-media-covers.md)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>2. Custom background image for the login page</i></summary>
|
<summary><i>2. Custom background image for the login page</i></summary>
|
||||||
|
|
||||||
- [Preview](https://user-images.githubusercontent.com/16425113/129554147-6ac7ba51-43e7-4c8e-ba77-e646a3ef6b12.jpg)
|
<img width="auto" height="350" alt="image" src="https://github.com/user-attachments/assets/70834545-d1cd-4496-975a-4310030dedd9" />
|
||||||
- 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.
|
<img width="auto" height="350" alt="image" src="https://github.com/user-attachments/assets/c3cf2d96-0db0-4acb-bc61-7b08d5445452" />
|
||||||
- Second, copy and paste the following code at the end in Custom CSS box but don't save yet.
|
|
||||||
```
|
- Note: this customisation is not needed on Jellyfin 10.11.X anymore
|
||||||
:root{
|
|
||||||
--loginPageBgUrl: url("<YOUR-JELLYFIN-SERVER-ADDRESS>/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2");
|
- On older Jellyfin versions, 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.
|
||||||
```
|
```
|
||||||
- Third, replace `<YOUR-JELLYFIN-SERVER-ADDRESS>` with your Jellyfin server address, for example, `http://192.168.0.1:8097`.
|
:root{
|
||||||
- Don't forget the correct http or https in your domain.
|
--loginPageBgUrl: url("<YOUR-JELLYFIN-SERVER-ADDRESS>/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2");
|
||||||
- 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.
|
```
|
||||||
|
- Third, replace `<YOUR-JELLYFIN-SERVER-ADDRESS>` with your Jellyfin server address, for example, `http://192.168.0.1:8096`.
|
||||||
|
- 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>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>3. Enable extra overlay buttons on cards on desktop</i></summary>
|
<summary><i>3. Enable extra overlay buttons on cards on desktop</i></summary>
|
||||||
|
|
||||||
- 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.
|
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/cb8479c2-c577-4d54-a567-697f54291a3b" />
|
||||||
```
|
|
||||||
:root{
|
- 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.
|
||||||
--extraCardButtonsVisibility: block;
|
```
|
||||||
}
|
:root{
|
||||||
```
|
--extraCardButtonsVisibility: block;
|
||||||
- To hide them again, simply remove this code block or replace `block` with `none`.
|
}
|
||||||
|
```
|
||||||
|
- To hide them again, simply remove this code block or replace `block` with `none`.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>4. Place the overlay play button at the center of cards on desktop</i></summary>
|
<summary><i>4. Place the overlay play button at the center of cards on desktop</i></summary>
|
||||||
|
|
||||||
- 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.
|
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/ebde9db6-cd2f-47b5-bdb9-cee1e9852e2e" />
|
||||||
```
|
|
||||||
:root{
|
- 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.
|
||||||
--overlayPlayButtonPosition: 50%;
|
```
|
||||||
}
|
:root{
|
||||||
```
|
--overlayPlayButtonPosition: 50%;
|
||||||
- To undo this change, simply remove this code block or replace `50%` with `2.8em`.
|
}
|
||||||
|
```
|
||||||
|
- To undo this change, simply remove this code block or replace `50%` with `2.8em`.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>5. Disable the card hover effect on desktop</i></summary>
|
<summary><i>5. Disable the card hover effect on desktop</i></summary>
|
||||||
|
|
||||||
- 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.
|
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{
|
:root{
|
||||||
--cardHoverEffect: none;
|
--cardHoverEffect: none;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- To undo this change, simply remove this code block or replace `none` with `""`.
|
|
||||||
|
- To undo this change, simply remove this code block or replace `none` with `""`.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>6. Enable labels below library cards</i></summary>
|
<summary><i>6. Enable labels below library cards</i></summary>
|
||||||
|
|
||||||
- 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.
|
<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{
|
:root{
|
||||||
--libraryLabelVisibility: block;
|
--libraryLabelVisibility: block;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- To undo this change, simply remove this code block or replace `block` with `none`.
|
|
||||||
|
- To undo this change, simply remove this code block or replace `block` with `none`.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<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.
|
||||||
|
|
||||||
- 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");
|
@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.
|
|
||||||
|
- 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>
|
</details>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### 🆗 Tested on
|
### 🆗 Tested on
|
||||||
- Jellyfin Server v10.10.6
|
|
||||||
- Jellyfin Android App v2.6.2
|
- Jellyfin Server v10.11.5
|
||||||
|
- Microsoft Edge (Chromium)
|
||||||
|
- Jellyfin Android App v2.6.3
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
### 🛠️ Troubleshooting
|
### 🛠️ Troubleshooting
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>1️⃣ - <i>How do I check if I am using the latest version of ElegantFin?</i></summary>
|
<summary>1️⃣ - <i>How do I check if I am using the latest version of 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.
|
- Check the version number at the bottom in the Settings screen.
|
||||||
- It should be something like ElegantFin v25.07.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>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>2️⃣ - <i>I see that a newer version is available, but I have not received it yet. Why?</i></summary>
|
<summary>2️⃣ - <i>I see that a newer version is available, but I have not received it yet. Why?</i></summary>
|
||||||
|
|
||||||
- If Dashboard footer shows an old version, it means that your app is still using an old cache.
|
- If the Settings footer shows an old version, it means that you are still using an old cache.
|
||||||
- Once that cache is updated, the new version will be loaded.
|
- Once that cache is updated, the new version will be loaded automatically.
|
||||||
- To get the latest version, you will need to clear cache. There are multiple ways to do it.
|
- There are multiple ways to clear the cache depending on your OS, smartphone or TV. Look online if you don't know.
|
||||||
- On web version, force a hard refresh of the page using CTRL + F5.
|
- 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>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<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>
|
||||||
|
|
||||||
- As of version 1.12.0, JMP is based on Qt 5.x which uses a very outdated web engine, so it does not support many new CSS features. Once a new version based on Qt 6.x is released, most issues should automatically be resolved. Until then, JMP is unsupported and I recommend using the web app instead.
|
- As of version 1.12.0, JMP is based on Qt 5.x which uses a very outdated web engine, so it does not support many new CSS features. Once a new version based on Qt 6.x is released, most issues should automatically be resolved. Until then, JMP is unsupported and I recommend using the web app instead.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>4️⃣ - <i>Does it work on the AndroidTV version of the Jellyfin app?</i></summary>
|
<summary>4️⃣ - <i>Does it work on the AndroidTV version of the Jellyfin app?</i></summary>
|
||||||
|
|
||||||
- As of version 0.18.11, the official Jellyfin app on the AndroidTVs does not support css themes, but the Android mobile phone app supports them. The WebOS version of the app seems to be based on the mobile phone version, so it supports the theme just fine.
|
- As of version 0.18.11, the official Jellyfin app on the AndroidTVs does not support css themes, but the Android mobile phone app supports them. The WebOS version of the app seems to be based on the mobile phone version, so it supports the theme just fine.
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>5️⃣ - <i>All the icons on my LG TV seem to be broken. How to fix them?</i></summary>
|
<summary>5️⃣ - <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.
|
- 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.
|
- 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:
|
- Simply add the following code at the end in Custom CSS box and save, then refresh your apps and webpages:
|
||||||
|
```
|
||||||
```
|
:root{
|
||||||
:root{
|
--iconPack: 'Material Icons';
|
||||||
--iconPack: 'Material Icons';
|
}
|
||||||
}
|
```
|
||||||
```
|
</details>
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>6️⃣ - <i>How do I report bugs/issues?</i></summary>
|
<summary>6️⃣ - <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).
|
||||||
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
<details>
|
<details>
|
||||||
<summary>7️⃣ - <i>When can I expect another update?</i></summary>
|
<summary>7️⃣ - <i>When can I expect another update?</i></summary>
|
||||||
|
|
||||||
- 🤷
|
- 🤷
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
@@ -270,8 +336,6 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
|
|||||||
|
|
||||||
Please read the [Contributor Guidelines](./CONTRIBUTING.md) before opening pull requests.
|
Please read the [Contributor Guidelines](./CONTRIBUTING.md) before opening pull requests.
|
||||||
|
|
||||||
|
|
||||||
### 🙏 Feedback Appreciated
|
### 🙏 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).
|
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
File diff suppressed because it is too large
Load Diff
3808
Theme/ElegantFin-theme-v25.10.27.css
Normal file
3808
Theme/ElegantFin-theme-v25.10.27.css
Normal file
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);
|
--colorOverlayHomevideosCover: rgb(39, 90, 185);
|
||||||
--colorOverlayBooksCover: rgb(166, 68, 70);
|
--colorOverlayBooksCover: rgb(166, 68, 70);
|
||||||
--colorOverlayFoldersCover: rgb(173, 60, 113);
|
--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);
|
--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);
|
--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);
|
--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);
|
--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);
|
--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);
|
--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);
|
filter: contrast(0.85);
|
||||||
background-size: cover !important;
|
background-size: cover !important;
|
||||||
background-position: 50% !important;
|
background-position: 50% !important;
|
||||||
background-blend-mode: multiply;
|
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;
|
position: absolute;
|
||||||
font-size: clamp(1em, max(2.5vh, 2vw), 2.5em);
|
font-size: clamp(1em, max(2.5vh, 2vw), 2em);
|
||||||
margin-bottom: .175em;
|
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
color: white;
|
color: white;
|
||||||
font-family: 'Noto Sans';
|
font-family: "Noto Sans";
|
||||||
text-align: center;
|
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;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* These show up when no image is set */
|
[data-collectiontype="movies"] .cardContent {
|
||||||
|
background-color: var(--colorOverlayMoviesCover) !important;
|
||||||
/* div[data-collectiontype="movies"] .cardImageContainer.defaultCardBackground {
|
|
||||||
background: var(--colorOverlayMoviesCover) !important;
|
|
||||||
background-image: var(--urlMoviesCover) !important;
|
background-image: var(--urlMoviesCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="tvshows"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="tvshows"] .cardContent {
|
||||||
background: var(--colorOverlayTvshowsCover) !important;
|
background-color: var(--colorOverlayTvshowsCover) !important;
|
||||||
background-image: var(--urlTvshowsCover) !important;
|
background-image: var(--urlTvshowsCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="livetv"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="livetv"] .cardContent {
|
||||||
background: var(--colorOverlayLivetvCover) !important;
|
background-color: var(--colorOverlayLivetvCover) !important;
|
||||||
background-image: var(--urlLivetvCover) !important;
|
background-image: var(--urlLivetvCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="music"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="music"] .cardContent {
|
||||||
background: var(--colorOverlayMusicCover) !important;
|
background-color: var(--colorOverlayMusicCover) !important;
|
||||||
background-image: var(--urlMusicCover) !important;
|
background-image: var(--urlMusicCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="homevideos"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="homevideos"] .cardContent {
|
||||||
background: var(--colorOverlayHomevideosCover) !important;
|
background-color: var(--colorOverlayHomevideosCover) !important;
|
||||||
background-image: var(--urlHomevideosCover) !important;
|
background-image: var(--urlHomevideosCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="books"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="books"] .cardContent {
|
||||||
background: var(--colorOverlayBooksCover) !important;
|
background-color: var(--colorOverlayBooksCover) !important;
|
||||||
background-image: var(--urlBooksCover) !important;
|
background-image: var(--urlBooksCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="boxsets"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="boxsets"] .cardContent {
|
||||||
background: var(--colorOverlayBoxsetsCover) !important;
|
background-color: var(--colorOverlayBoxsetsCover) !important;
|
||||||
background-image: var(--urlBoxsetsCover) !important;
|
background-image: var(--urlBoxsetsCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="folders"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="folders"] .cardContent {
|
||||||
background: var(--colorOverlayFoldersCover) !important;
|
background-color: var(--colorOverlayFoldersCover) !important;
|
||||||
background-image: var(--urlFoldersCover) !important;
|
background-image: var(--urlFoldersCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="playlists"] .cardImageContainer.defaultCardBackground {
|
[data-collectiontype="playlists"] .cardContent {
|
||||||
background: var(--colorOverlayPlaylistsCover) !important;
|
background-color: 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;
|
background-image: var(--urlPlaylistsCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent {
|
[data-prefix="MIX"] .cardContent {
|
||||||
filter: contrast(0.85);
|
background-color: var(--colorOverlayMixedCover) !important;
|
||||||
background-size: cover !important;
|
background-image: var(--urlMixedCover) !important;
|
||||||
background-position: 50% !important;
|
|
||||||
background-blend-mode: multiply;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="movies"] .cardImageContainer.cardContent::before {
|
[data-collectiontype="movies"][data-prefix="REC"] .cardContent {
|
||||||
content: "Movies";
|
background-color: var(--colorOverlayRecordedmoviesCover) !important;
|
||||||
|
background-image: var(--urlRecordedmoviesCover) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[data-collectiontype="tvshows"] .cardImageContainer.cardContent::before {
|
[data-prefix="REC"] .cardContent {
|
||||||
content: "TV Shows";
|
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 */
|
/* Add-on: Media Bar plugin support v25.11.25 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}}
|
.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 */
|
/* Add-on: Media Bar plugin support nightly for the ElegantFin Theme for Jellyfin by lscambo13 */
|
||||||
/* this styles the media bar plugin - start */
|
/* 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,
|
.play-button::before,
|
||||||
.detail-button::before,
|
.detail-button::before,
|
||||||
.favorite-button::before,
|
.favorite-button::before,
|
||||||
@@ -23,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.play-button {
|
.play-button {
|
||||||
font-family: 'Inter';
|
font-family: "Inter";
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
@@ -31,8 +16,8 @@
|
|||||||
.backdrop,
|
.backdrop,
|
||||||
.backdrop-container,
|
.backdrop-container,
|
||||||
.backdrop-overlay {
|
.backdrop-overlay {
|
||||||
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, .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;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +25,6 @@
|
|||||||
transform-origin: center left;
|
transform-origin: center left;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* this is my own take */
|
|
||||||
.rating-value {
|
.rating-value {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -52,22 +36,14 @@
|
|||||||
|
|
||||||
#slides-container {
|
#slides-container {
|
||||||
width: calc(100vw - (2 * var(--sidePadding)));
|
width: calc(100vw - (2 * var(--sidePadding)));
|
||||||
height: 60%;
|
height: 62%;
|
||||||
top: 8em;
|
top: var(--appBarHeight);
|
||||||
border: var(--defaultBorder);
|
border: var(--defaultBorder);
|
||||||
border-radius: var(--largerRadius);
|
border-radius: var(--largerRadius);
|
||||||
transition: all .125s, border 0s;
|
transition: all 0.125s, border 0s;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layout-tv #slides-container {
|
|
||||||
top: 0em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layout-mobile #slides-container {
|
|
||||||
top: 10em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo-container {
|
.logo-container {
|
||||||
top: 10vh;
|
top: 10vh;
|
||||||
}
|
}
|
||||||
@@ -80,7 +56,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.backdrop-overlay {
|
.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) {
|
@media only screen and (max-width: 767px) and (orientation: portrait) {
|
||||||
@@ -89,10 +65,6 @@
|
|||||||
transform: translateX(-50%) scale(0.8);
|
transform: translateX(-50%) scale(0.8);
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-container {
|
|
||||||
/* top: calc(50% + 6vh); */
|
|
||||||
}
|
|
||||||
|
|
||||||
.tomato-rating {
|
.tomato-rating {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -106,4 +78,26 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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 */
|
/* 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
|
# 🧩 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.
|
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)
|
#### **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;
|
--colorOverlayHomevideosCover: transparent;
|
||||||
--colorOverlayBooksCover: transparent;
|
--colorOverlayBooksCover: transparent;
|
||||||
--colorOverlayFoldersCover: transparent;
|
--colorOverlayFoldersCover: transparent;
|
||||||
|
--colorOverlayMixedCover: transparent;
|
||||||
|
--colorOverlayRecordedmoviesCover: transparent;
|
||||||
|
--colorOverlayRecordedtvCover: transparent;
|
||||||
--urlMoviesCover: transparent;
|
--urlMoviesCover: transparent;
|
||||||
--urlTvshowsCover: transparent;
|
--urlTvshowsCover: transparent;
|
||||||
--urlLivetvCover: 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;
|
--urlHomevideosCover: transparent;
|
||||||
--urlBooksCover: transparent;
|
--urlBooksCover: transparent;
|
||||||
--urlFoldersCover: 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;
|
--colorOverlayHomevideosCover: transparent;
|
||||||
--colorOverlayBooksCover: transparent;
|
--colorOverlayBooksCover: transparent;
|
||||||
--colorOverlayFoldersCover: transparent;
|
--colorOverlayFoldersCover: transparent;
|
||||||
|
--colorOverlayMixedCover: transparent;
|
||||||
|
--colorOverlayRecordedmoviesCover: transparent;
|
||||||
|
--colorOverlayRecordedtvCover: transparent;
|
||||||
--urlMoviesCover: var(--cardBackgroundGradient);
|
--urlMoviesCover: var(--cardBackgroundGradient);
|
||||||
--urlTvshowsCover: var(--cardBackgroundGradient);
|
--urlTvshowsCover: var(--cardBackgroundGradient);
|
||||||
--urlLivetvCover: 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);
|
--urlHomevideosCover: var(--cardBackgroundGradient);
|
||||||
--urlBooksCover: var(--cardBackgroundGradient);
|
--urlBooksCover: var(--cardBackgroundGradient);
|
||||||
--urlFoldersCover: 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");
|
@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);
|
--colorOverlayHomevideosCover: rgb(39, 90, 185);
|
||||||
--colorOverlayBooksCover: rgb(166, 68, 70);
|
--colorOverlayBooksCover: rgb(166, 68, 70);
|
||||||
--colorOverlayFoldersCover: rgb(173, 60, 113);
|
--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%);
|
--urlMoviesCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
--urlTvshowsCover: linear-gradient(0deg, #313131, #585858 25%);
|
--urlTvshowsCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
--urlLivetvCover: 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%);
|
--urlHomevideosCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
--urlBooksCover: linear-gradient(0deg, #313131, #585858 25%);
|
--urlBooksCover: linear-gradient(0deg, #313131, #585858 25%);
|
||||||
--urlFoldersCover: 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%);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -130,7 +148,7 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
|||||||
|
|
||||||
### 👇 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");
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
@@ -140,9 +158,7 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
|
|||||||
|
|
||||||
### ⚙️ How to configure this add-on?
|
### ⚙️ How to configure this add-on?
|
||||||
|
|
||||||
- Remember, you do not need to configure anything if you're happy with the default set of images.
|
- Remember, you do not need to configure anything if you're happy with the default set of images.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><i>Click here to reveal.</i></summary>
|
<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();
|
--colorOverlayHomevideosCover: rgb();
|
||||||
--colorOverlayBooksCover: rgb();
|
--colorOverlayBooksCover: rgb();
|
||||||
--colorOverlayFoldersCover: rgb();
|
--colorOverlayFoldersCover: rgb();
|
||||||
|
--colorOverlayMixedCover: rgb();
|
||||||
|
--colorOverlayRecordedmoviesCover: rgb();
|
||||||
|
--colorOverlayRecordedtvCover: rgb();
|
||||||
|
|
||||||
<!-- cover images; input the url pointing to an image. -->
|
<!-- 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();
|
--urlHomevideosCover: url();
|
||||||
--urlBooksCover: url();
|
--urlBooksCover: url();
|
||||||
--urlFoldersCover: url();
|
--urlFoldersCover: url();
|
||||||
|
--urlMixedCover: url();
|
||||||
|
--urlRecordedmoviesCover: url();
|
||||||
|
--urlRecordedtvCover: url();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
</details>
|
</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:
|
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");
|
@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/assets/add-ons/custom-media-covers-latest-min.css");
|
||||||
|
|
||||||
:root{
|
:root{
|
||||||
--colorOverlayLivetvCover: rgb(39, 68, 185);
|
--colorOverlayLivetvCover: rgb(39, 68, 185);
|
||||||
--urlLivetvCover: url(https://artworks.thetvdb.com/banners/fanart/original/71663-33.jpg);
|
--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>
|
<hr>
|
||||||
|
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,8 +1,17 @@
|
|||||||
{
|
{
|
||||||
"folders": [
|
"folders": [
|
||||||
{
|
{
|
||||||
"path": "."
|
"path": "."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settings": {}
|
"settings": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"prettier.useTabs": false,
|
||||||
|
"prettier.printWidth": 120,
|
||||||
|
"cSpell.words": [
|
||||||
|
"Jellyfin",
|
||||||
|
"Jellyseerr"
|
||||||
|
],
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user