From af6d340e8ec32b31d905871ad4c13670098cfc7b Mon Sep 17 00:00:00 2001 From: lscambo13 Date: Mon, 29 Dec 2025 00:33:31 +0530 Subject: [PATCH] dev: updated the customisation section --- README.md | 286 +++++++++++++++++++++------------------ workspace.code-workspace | 4 + 2 files changed, 159 insertions(+), 131 deletions(-) diff --git a/README.md b/README.md index 425fa29..b30ab86 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,109 @@ ElegantFin Theme for Jellyfin - Banner -## ⭐ ElegantFin Theme -This is a Jellyfin theme inspired from Jellyseerr to improve the overall look and experience with various fixes to the UI/UX. It gives Jellyfin a fresh, modern look, and it aims to work on mobile, desktop, and TV, with just one import. +
+ + jsDelivr Requests + + + + GitHub Repo stars + +
+## ⭐ 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)
-### ✨ Key Features -- modern layouts and color tones -- new and improved animations on most elements -- rounded corners and even spacing everywhere -- stylish borders, hover effects and shadows -- neat layout that puts important stuff up front -- reduced unnecessary clutter -- various fixes to improve the user experience -- same clean design across phone, desktop, and TV +### ✨ Key Features + +- modern layouts and color tones +- new and improved animations on most elements +- rounded corners and even spacing everywhere +- stylish borders, hover effects and shadows +- neat layout that puts important stuff up front +- reduced unnecessary clutter +- various fixes to improve the user experience +- same clean design across phone, desktop, and TV
-### 🖼️ Theme Showcase +### 🖼️ Theme Showcase + Captured on ElegantFin v25.08.02
💻 Desktop and 📱 Mobile Screenshots -| Desktop | Mobile | -| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -|

Login Page
|
| -|

Homepage
|
| -|

Movies Library
|
| -|

Movie Page
|
| -|

Movie Details
|
| -|

TV Show Page
|
| -|

TV Episode Page
|
| -|

TV Show Seasons
|
| -|

Web Player
|
| -|

Cast Page
|
| -|

Artist Page
|
| -|

Music Player
|
| -|

Book Page
|
| -|

Sidebar
|
| -|

Extra Dialog
|
| -|

Settings Page
|
| -|

Metadata Menu
|
| +| Desktop | Mobile | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +|

Login Page
|
| +|

Homepage
|
| +|

Movies Library
|
| +|

Movie Page
|
| +|

Movie Details
|
| +|

TV Show Page
|
| +|

TV Episode Page
|
| +|

TV Show Seasons
|
| +|

Web Player
|
| +|

Cast Page
|
| +|

Artist Page
|
| +|

Music Player
|
| +|

Book Page
|
| +|

Sidebar
|
| +|

Extra Dialog
|
| +|

Settings Page
|
| +|

Metadata Menu
|
| |

Dashboard Settings
|
| -|

Live TV Page
|
| -|

Live TV Guide
|
| +|

Live TV Page
|
| +|

Live TV Guide
|
|
📺 TV Screenshots -| TV View | -| ------------------------------------------------------------------------------------------------------------- | -|

Login Page
| -|

Homepage
| -|

Movies Library
| -|

Movie Page
| -|

Extra Dialog
| -|

Settings Page
| -|

Web Player
| -|

TV Show Page
| -|

Movie Details
| -|

Book Page
| -|

Artist Page
| -|

Music Player
| +| TV View | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +|

Login Page
| +|

Homepage
| +|

Movies Library
| +|

Movie Page
| +|

Extra Dialog
| +|

Settings Page
| +|

Web Player
| +|

TV Show Page
| +|

Movie Details
| +|

Book Page
| +|

Artist Page
| +|

Music Player
| |

TV Show Seasons
| -|

Cast Page
| +|

Cast Page
| |

TV Episode Page
| -|

Live TV Page
| -|

Live TV Guide
| +|

Live TV Page
| +|

Live TV Guide
|
- - - https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 -
-### 👇 How to install/setup this theme? +### 👇 How to install/setup this theme? Paste the following in Custom CSS code box: - @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");
Detailed steps for server-side implementation @@ -99,7 +113,7 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 3. Scroll down to find Custom CSS code box. 4. Paste the custom css in Custom CSS code box. 5. Click save -
+
Detailed steps for client-side implementation @@ -108,19 +122,18 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 2. Scroll down to find Custom CSS code box. 3. Paste the custom css in Custom CSS code box. 4. Click save. -
- +
-### 🧩 How to customise this theme? +### 🧩 How to customise this theme?
1. Custom media covers for user media libraries image -- 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)
@@ -130,19 +143,19 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 image image -- Note: this customisation is not needed on Jellyfin 10.11.X anymore +- Note: this customisation is not needed on Jellyfin 10.11.X anymore -- 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. - ``` - :root{ - --loginPageBgUrl: url("/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2"); - } - ``` -- Third, replace `` 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. +- 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. + ``` + :root{ + --loginPageBgUrl: url("/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2"); + } + ``` +- Third, replace `` 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.
@@ -150,14 +163,13 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 image - -- To enable 'Mark Played' and 'Add to Favorites' buttons that show up at the bottom right corner of cards while hovering, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. - ``` - :root{ - --extraCardButtonsVisibility: block; - } - ``` -- To hide them again, simply remove this code block or replace `block` with `none`. +- To enable 'Mark Played' and 'Add to Favorites' buttons that show up at the bottom right corner of cards while hovering, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. + ``` + :root{ + --extraCardButtonsVisibility: block; + } + ``` +- To hide them again, simply remove this code block or replace `block` with `none`.
@@ -165,14 +177,13 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 image - -- To bring the mini play button to the center of cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. - ``` - :root{ - --overlayPlayButtonPosition: 50%; - } - ``` -- To undo this change, simply remove this code block or replace `50%` with `2.8em`. +- To bring the mini play button to the center of cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. + ``` + :root{ + --overlayPlayButtonPosition: 50%; + } + ``` +- To undo this change, simply remove this code block or replace `50%` with `2.8em`.
@@ -180,13 +191,15 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390 https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd -- To disable the reflection on cards that shows when hovering over them on desktop, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. +- To disable the reflection on cards that shows when hovering over them on desktop, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. + ``` :root{ --cardHoverEffect: none; } ``` -- To undo this change, simply remove this code block or replace `none` with `""`. + +- To undo this change, simply remove this code block or replace `none` with `""`.
@@ -194,14 +207,15 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd image +- 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. -- To enable text labels under the media library cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. ``` :root{ --libraryLabelVisibility: block; } ``` -- To undo this change, simply remove this code block or replace `block` with `none`. + +- To undo this change, simply remove this code block or replace `block` with `none`.
@@ -209,99 +223,111 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd image +- 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"); ``` -- To undo this change, simply remove this code block. + +- To undo this change, simply remove this code block.
8. Switch between different app bar styles - https://github.com/user-attachments/assets/b5868cd2-8df9-490d-a2b6-4386c6ddcd56 +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) -- 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. + +- To undo this change, simply remove this code block. +
+ +
+ 9. Change to alternative color themes + + image + +- 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.

-### 🆗 Tested on -- Jellyfin Server v10.11.1 -- Microsoft Edge (Chromium) -- Jellyfin Android App v2.6.3 +### 🆗 Tested on + +- Jellyfin Server v10.11.5 +- Microsoft Edge (Chromium) +- Jellyfin Android App v2.6.3
-### 🛠️ Troubleshooting +### 🛠️ Troubleshooting +
1️⃣ - How do I check if I am using the latest version of ElegantFin? -- Check the version number at the bottom in the Settings screen. -- It should be something like `ElegantFin v25.XX.XX`. +- Check the version number at the bottom in the Settings screen. +- It should be something like `ElegantFin v25.XX.XX`. - image + image
2️⃣ - I see that a newer version is available, but I have not received it yet. Why? -- 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 automatically. -- There are multiple ways to clear the cache depending on your OS, smartphone or TV. Look online if you don't know. -- On the web version, you can force a hard refresh of the page using CTRL + F5. -- On apps, try signing out and back in again. OR in case of Jellyfin Media Player on windows, you might need to delete the cache folder. +- 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 automatically. +- There are multiple ways to clear the cache depending on your OS, smartphone or TV. Look online if you don't know. +- On the web version, you can force a hard refresh of the page using CTRL + F5. +- On apps, try signing out and back in again. OR in case of Jellyfin Media Player on windows, you might need to delete the cache folder.
3️⃣ - Why do I notice visual bugs and inconsistencies on Jellyfin Media Player? -- 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.
4️⃣ - Does it work on the AndroidTV version of the Jellyfin app? -- 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.
5️⃣ - All the icons on my LG TV seem to be broken. How to fix them? -- It seems that modern Material Icons which this theme uses are [not compatible on some WebOS TVs](https://github.com/lscambo13/ElegantFin/issues/39). There is a [huge similar thread](https://www.reddit.com/r/youtubetv/comments/e27go3/chinese_symbols_instead_of_icons_on_lg_tv/) about this. -- This bug can be fixed by using the older icons, so I have implemented the following workaround to bring back older, supported icons. -- Simply add the following code at the end in Custom CSS box and save, then refresh your apps and webpages: - - ``` - :root{ - --iconPack: 'Material Icons'; - } - ``` -
+- It seems that modern Material Icons which this theme uses are [not compatible on some WebOS TVs](https://github.com/lscambo13/ElegantFin/issues/39). There is a [huge similar thread](https://www.reddit.com/r/youtubetv/comments/e27go3/chinese_symbols_instead_of_icons_on_lg_tv/) about this. +- This bug can be fixed by using the older icons, so I have implemented the following workaround to bring back older, supported icons. +- Simply add the following code at the end in Custom CSS box and save, then refresh your apps and webpages: + ``` + :root{ + --iconPack: 'Material Icons'; + } + ``` +
6️⃣ - How do I report bugs/issues? -- 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). - +- 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).
7️⃣ - When can I expect another update? -- 🤷 +- 🤷

@@ -310,8 +336,6 @@ https://github.com/user-attachments/assets/ac22440d-39d7-48d6-a8da-3b7777372ffd Please read the [Contributor Guidelines](./CONTRIBUTING.md) before opening pull requests. - ### 🙏 Feedback Appreciated Please use the right template when creating an [issue](https://github.com/lscambo13/ElegantFin/issues/new/choose) to [report bugs](https://github.com/lscambo13/ElegantFin/issues/new?template=bug_report.md) or [provide suggestions](https://github.com/lscambo13/ElegantFin/issues/new?template=feature_request.md). - diff --git a/workspace.code-workspace b/workspace.code-workspace index 12344e5..61d9335 100644 --- a/workspace.code-workspace +++ b/workspace.code-workspace @@ -9,5 +9,9 @@ "editor.formatOnSave": true, "prettier.useTabs": false, "prettier.printWidth": 120, + "cSpell.words": [ + "Jellyfin", + "Jellyseerr" + ], } } \ No newline at end of file