125 Commits

Author SHA1 Message Date
lscambo13
bf4241a700 Fix: Posters were not visible on some older TVs
Thanks to @BullenMoore https://github.com/lscambo13/ElegantFin/issues/182#issuecomment-3678911997
2025-12-21 22:14:22 +05:30
lscambo13
1fe65b63e6 Fix: Reworked Live TV cells to fix issues with cover overlap. focus color and height 2025-12-21 20:50:25 +05:30
lscambo13
872ac32747 Fix: Grid layout was unintentionally being applied on all layouts #217 2025-12-21 20:43:16 +05:30
lscambo13
b218a819da RELEASE: ElegantFin v25.11.25 2025-11-24 22:06:51 +05:30
lscambo13
c4d04e1709 Fix: Optimized performance a bit 2025-11-24 21:04:17 +05:30
lscambo13
c9839f0848 Fix: TYPO!! #205 2025-11-24 19:07:46 +05:30
lscambo13
779b3449c0 dev: Updated the documentation 2025-11-23 23:59:59 +05:30
lscambo13
53b003dd9e Fix: Media Bar contents were overlapping on smaller displays 2025-11-23 21:32:37 +05:30
lscambo13
5c915d6ac1 Fix: Disabled or adjusted some animations for improved performance on low-end TVs 2025-11-23 21:08:13 +05:30
lscambo13
2336be539a Fix: Disabled the new episode grid on older browsers to avoid issues with Music pages 2025-11-23 20:21:37 +05:30
lscambo13
76a5319c97 Fix: Artist page top margin was too low 2025-11-23 20:14:20 +05:30
lscambo13
296263c9d7 dev: Renamed '--backdropPositionY' to a more logical name, '--backdropTrimFromTop' 2025-11-23 20:11:59 +05:30
lscambo13
422a1e185e New: Shift the media page content up when Now Playing bottom bar is visible 2025-11-23 20:01:20 +05:30
lscambo13
7dcd42f992 Fix: Custom Media Cover titles were not visible on TVs 2025-11-23 19:58:58 +05:30
lscambo13
4e53bd27bc Fix: Improved compatibility with older browsers that don't support 'aspect-ratio' 2025-11-15 21:40:21 +05:30
lscambo13
86a1e1c74e Fix: Added responsive Episode card grid to get rid of the media queries 2025-11-15 21:31:16 +05:30
lscambo13
81a118e86e dev: updated documentation 2025-11-15 20:37:23 +05:30
lscambo13
44e95c42cb New: Added custom covers for Mixed Media libraries, Recordings and Recorded Movies
Fix: Added line wrap to prevent long library names from overflowing
dev: Simplified the code
2025-11-15 20:27:46 +05:30
lscambo13
8b1585da89 Fix: Added the missing entries i.e. Playlists, Recorded Movies etc 2025-11-15 20:24:05 +05:30
Mads Kelberg
3d08baecc8 fix: custom background overwrites scaling & position 2025-11-14 11:59:59 +01:00
Mads Kelberg
fe651691e3 refactor: use data label instead of static label 2025-11-13 23:23:08 +01:00
Mads Kelberg
cf67874221 chore: group css and remove duplicate 2025-11-13 23:18:07 +01:00
Mads Kelberg
676a1be4ae fix: update CSS selectors for CollectionFolder type 2025-11-13 23:13:43 +01:00
lscambo13
9a60e664e5 Fix: Used a higher quality info_outline icon 2025-11-11 23:19:03 +05:30
lscambo13
ab8627eb66 Fix: Thumbnails were slightly off-center in the episode grid 2025-11-11 23:05:24 +05:30
lscambo13
c7abd97dfb New: Redesigned the episode lists to be 'grid' on desktop 2025-11-11 22:51:58 +05:30
lscambo13
23542f197e Fix: Used standard colors in episode lists
dev: simplified some selectors to improve compatibility with HSS plugin
2025-11-11 22:43:26 +05:30
lscambo13
5641b4c7d6 Fix: Continue watching progress bar and the chapter cards were bugged on Firefox 2025-11-11 22:40:26 +05:30
lscambo13
beaf6415d0 New: Made the clear logo position from bottom configurable on desktop using a variable 2025-11-09 22:48:00 +05:30
lscambo13
a7216ebbdb New: Updated the Seasons page
New: Moved content up on some more pages
dev: Live TV icons should be visible now ee5ad227d0
dev: rearranged the code
2025-11-09 22:36:42 +05:30
lscambo13
cf17fb6538 Fix: Removed the workaround to position the card on top of title 2025-11-09 22:24:39 +05:30
lscambo13
30e0ad5488 Fix: Forgot to include a variable
dev: code cleanup
2025-11-09 22:10:44 +05:30
lscambo13
ee5ad227d0 Fix: Playlist square card was not visible
dev: simplified some selectors
2025-11-09 22:07:55 +05:30
lscambo13
b5f5a765ea Fix: Next up section column width kept varying for some reason 2025-11-09 22:03:38 +05:30
lscambo13
864834b5a8 Fix: Reduced the bottom padding from episode title on phones 2025-11-09 22:02:10 +05:30
lscambo13
0243875a8c Fix: Long words did not break in some cases
Fix: Long sentences were overflowing
dev: simplified some selectors
2025-11-09 22:01:22 +05:30
lscambo13
87374d3d3e Fix: Now playing page did not have a background color on desktop 2025-11-09 21:57:38 +05:30
lscambo13
e9bee92007 Fix: Media rating font color and the play button text alignment was incorrect in the Media Bar plugin 2025-11-09 21:56:44 +05:30
lscambo13
10239e818e dev: updated formatting 2025-11-09 21:48:48 +05:30
lscambo13
af01c3636d Fix: Improved support for the Media Bar Plugin 2025-11-09 21:48:13 +05:30
lscambo13
17e2fe6940 dev: added Prettier config 2025-11-04 20:53:10 +05:30
lscambo13
69f4540ec5 Fix: Plot info was not aligned to the bottom on older browsers 2025-11-04 20:10:36 +05:30
lscambo13
8f620b489f Fix: Dark overlay on Continue Watching and Chapter cards did not render correctly on some browsers #130?
dev: improved compatibility with Firefox
2025-11-04 20:09:46 +05:30
lscambo13
556acc22c5 Fix: Main media buttons were overlapping the plot info in episode pages #169 2025-11-04 19:58:26 +05:30
lscambo13
1e0eaae2a0 Fix: Drop-down menu font style was not applying on Firefox #110 2025-11-04 19:56:56 +05:30
lscambo13
82dd0469d5 dev: Allowed hiding the overlay button on mobile #162 2025-11-03 23:05:45 +05:30
bibi0019
36290112c3 Fix: Ensure Skip Intro Button is readable on jellyfin 10.11 (#165) 2025-11-03 22:47:37 +05:30
lscambo13
fa6dde9f1b dev: Allowed text-based titles to be shown using a variable 2025-11-03 22:40:55 +05:30
lscambo13
8575b9b2b4 New: Increased the font size of episode title 2025-11-03 22:34:57 +05:30
lscambo13
bf23c34fbf Fix: EPG rows were displayed incorrectly on Firefox #164 2025-11-03 22:34:16 +05:30
lscambo13
f7aae10db0 New: Avoid adding empty space if both plot and tagline are empty 2025-11-03 22:32:45 +05:30
lscambo13
349a720cd2 Fix: Tweaked paddings around the track selection menus to be more consistent
dev: rearranged code
2025-11-03 22:31:29 +05:30
lscambo13
b9ceded828 Fix: Some scroll buttons were not aligned with their section headings 2025-11-03 22:23:18 +05:30
lscambo13
1647f40140 dev: Allowed clear logos to be hidden using a variable 2025-11-03 22:21:43 +05:30
lscambo13
bfdd8d8576 New: Updated the program list style to match how the songs list in album pages looks 2025-11-03 22:18:37 +05:30
lscambo13
8398ee7058 Fix: Program list was limited to single column 2025-11-03 22:14:11 +05:30
lscambo13
c5dca7ffb3 Fix: Recording button text and icon did not have a gap 2025-11-03 22:11:57 +05:30
lscambo13
be84634dae Fix: Play button was bugged in dialogs i.e. live tv program 2025-11-03 22:10:46 +05:30
lscambo13
733e091072 Fix: Gradient was scaling poorly on long pages with lots of episodes 2025-11-03 22:07:49 +05:30
lscambo13
42bc537897 New: Allow users to hide the original/foreign media title using a variable 2025-10-29 06:59:01 -07:00
lscambo13
48811065aa Fix: Attempting to prevent the title from overlapping the clear logo 2025-10-29 06:53:38 -07:00
lscambo13
33afcd750c Fix: TV Show cards were displayed incorrectly on the home page in Mixed libraries section 2025-10-28 06:25:11 -07:00
lscambo13
d1b4bc1367 dev: updated the bug report template 2025-10-27 11:07:37 -07:00
lscambo13
3b15cabe57 dev: updated the test environment 2025-10-27 10:34:28 -07:00
lscambo13
8c38f33628 dev: Updated the readme.md and bug report template for clarity 2025-10-27 10:20:02 -07:00
lscambo13
6b1c3a67f3 Fix: Removed the excess left padding from collection items so that they align better with the page 2025-10-27 09:00:41 -07:00
lscambo13
1918c9b054 Fix: Collection items were displayed incorrectly on JF 10.11.0 2025-10-27 08:59:26 -07:00
lscambo13
b2d7441551 RELEASE: ElegantFin v25.10.27 2025-10-26 22:46:14 +05:30
lscambo13
8b6f499b91 Fix: Disabled scale on TVs to prevent overlaps and to improve some performance 2025-10-26 21:07:34 +05:30
lscambo13
5209cbb8f1 Fix: Prevented the foreign title from overlapping the clear logo on larger screens 2025-10-26 20:51:56 +05:30
lscambo13
4fee1b3a44 Merge branch 'main' of https://github.com/lscambo13/ElegantFin 2025-10-25 13:16:17 -07:00
lscambo13
44be2db862 Fix: Updated the TV layout to look consistent across different JF versions 2025-10-25 13:15:19 -07:00
lscambo13
855cbfa901 Fix: Improved consistency and reduced side paddings on mobile layout 2025-10-25 13:12:11 -07:00
lscambo13
e674310187 Fix: Thumbnails were not centered anymore on JF 10.11.0
Fix: Rewrote some code to ensure that the secondary pages look consistent on different JF versions
2025-10-25 13:06:26 -07:00
lscambo13
2ea0f55e6c New: Refined the layout of horizontal scrollers
Aligned the horizontal lists with their container heading, and reduced the margin between the list and title for a tighter, more cohesive layout.
2025-10-25 12:58:12 -07:00
lscambo13
a1f2360f34 dev: Updated issue template 2025-10-25 06:51:24 +05:30
lscambo13
5ab39dd7e2 New: Updated README.md for clarity 2025-10-24 09:58:07 -07:00
lscambo13
5350c7836e New: Placed the 'next up' episode and 'all seasons' in one row on JF 10.11.0 on desktop 2025-10-24 09:44:15 -07:00
lscambo13
5988cee24c New: Added initial support for JF Server 10.11.0 2025-10-24 09:39:20 -07:00
lscambo13
eff306a900 dev: updated the bug report template with additional fields
Updated the bug report template to include Jellyfin Server version and refined browser version fields.
2025-10-22 15:39:13 +05:30
lscambo13
1571e301e0 New: Allowed clear logos to be visible on older browsers 2025-09-12 08:08:25 -07:00
lscambo13
ea12292a77 New: Allowed desktop users to configure how much of the backdrop is cropped from the top
Fix: Frosted effect on page backdrops had stopped working on mobile
2025-09-12 07:57:11 -07:00
lscambo13
4a045ef8c9 Fix: Removed the bottom border from the last row in the credits box 2025-09-09 10:31:57 -07:00
lscambo13
8536ee6a90 Fix: Tweaked the app bar frosted effect on mobile and padding on TV 2025-09-09 10:09:09 -07:00
lscambo13
e62de7469c Fix: Posters for recorded live tv programmes were not visible in the media page 2025-09-09 09:14:32 -07:00
lscambo13
5994dde7a1 New: Updated the card placeholder icon color 2025-09-09 09:09:29 -07:00
lscambo13
309abc2dc3 dev: Disabled some trivial fixes for simplicity 2025-08-22 13:19:50 -07:00
lscambo13
72cc664480 New: ElegantFin version number is now also visible in the Settings page for future compatibility and its visibility on TVs
dev: TVs don't have Dashboard settings, so TV users were unable to check the version they were running. Also, in future dashboard theming might not be allowed, so I needed a different place to show the version number for debugging purposes.
2025-08-22 13:04:19 -07:00
lscambo13
10900884e7 Fix: Simplified the way play/resume labels on the play button are rendered to support foreign languages 2025-08-22 12:57:55 -07:00
lscambo13
e47b7813cf Fix: Simplified the way borders are drawn in the media credits table
This eliminates the brief flash of a horizontal line visible when opening a media or cast page on older browsers
Fix: Removed the negative bottom margin I added earlier on plot container to avoid overlaps
2025-08-22 12:52:35 -07:00
lscambo13
07fcd74ccd Fix: Backdrops were too bright/visible on TVs, causing difficulty in text legibility 2025-08-22 12:47:20 -07:00
lscambo13
9d1c26e798 Fix: Cards were misaligned on older browsers
Fix: Some cards had blue focus outline on TVs
2025-08-22 12:44:37 -07:00
lscambo13
9679d8db4d Fix: Prevented the column gap from being applied to the Editor's Choice Plugin 2025-08-19 10:45:45 -07:00
lscambo13
4eb19f2bd3 Fix: Keep the plot expanded on TVs to fix issues with remote navigation 2025-08-19 10:16:59 -07:00
lscambo13
4b8838b1c0 dev: Simplified some selectors 2025-08-19 10:13:21 -07:00
lscambo13
818f755610 New: Updated the README.md with preview videos and images in the customisation section 2025-08-14 12:18:27 -07:00
lscambo13
7372edd10f Fix: Tweaked the Media Bar top position in relation to the app bar height 2025-08-14 11:50:07 -07:00
lscambo13
24afe0f45c dev: Reworked the app bar code to make it more manageable 2025-08-14 10:48:12 -07:00
lscambo13
fb57bffd2f Fix: Positioned the audio and subtitle selection menu closer to the play button on TVs for easier navigation with remote
Fix: Reduced the top padding on pages on TVs
2025-08-14 10:31:36 -07:00
lscambo13
dd4e2b392b Fix: App bar tabs were stick in the expanded state on TVs
Fix: Workaround to prevent these tabs from overlapping buttons on TVs
2025-08-14 10:21:06 -07:00
lscambo13
d5bf3ed7ad Fix: Increased the card sizes on TVs 2025-08-14 10:16:41 -07:00
lscambo13
348495cffb dev: updated the testing environment 2025-08-11 12:23:43 -07:00
lscambo13
025dbd7c1d Fix: Prevented the Custom CSS Box from becoming infinitely long and shifting its position randomly upon interaction 2025-08-11 12:23:03 -07:00
lscambo13
00f14e00dd New: Allow users to easily switch between two App Bar styles using a single var 2025-08-11 12:19:55 -07:00
lscambo13
f9bef351d9 Fix: Fixed the skip intro button alignment according to Jellyfin version 10.10.7 2025-08-08 07:08:45 -07:00
lscambo13
a9aaf0382c RELEASE: ElegantFin v25.08.08 2025-08-07 12:50:12 -07:00
lscambo13
298670a69e Fix: Font size in Custom Media Covers add-on should scale more consistently now 2025-08-07 12:34:01 -07:00
lscambo13
6f11dbc715 Fix: Made the backdrop animation a bit lighter on the media item page 2025-08-07 11:33:08 -07:00
lscambo13
f4f78a1bb7 Fix: Tweaked the card sizes a bit more to make them bigger on large displays 2025-08-07 07:12:47 -07:00
lscambo13
8fe01cb54c dev: code cleanup 2025-08-07 07:11:45 -07:00
lscambo13
86fdfeaf3c dev: Prevented the play button from shrinking below 10em 2025-08-07 07:10:00 -07:00
lscambo13
e8c4fadd04 Fix: Centered the library items a bit more on mobile 2025-08-07 07:08:17 -07:00
lscambo13
af5de16a41 Fix: Aligned the skip intro button to the viewport 2025-08-07 07:03:37 -07:00
lscambo13
0f897b91cd Fix: Updated the media bar plugin styling on mobile to match the desktop layout 2025-08-06 10:03:55 -07:00
lscambo13
41c6259e85 Fix: Section tabs were always stuck at bottom of the header on older browsers
dev: Simplified the selector
2025-08-06 08:25:28 -07:00
lscambo13
2ac4097966 Fix: Updated the media bar plugin styling on TVs to match the desktop layout 2025-08-06 08:15:40 -07:00
lscambo13
8f19efcc84 Fix: Repositioned the skip button on TVs as a workaround to fix navigation with remote
bug: back button can no longer be focused correctly when this button is focused, but that is a non-issue because users can use the back button on their remotes
2025-08-06 08:13:10 -07:00
James Corley-Goldberg
6847cad1ce Fix: add macos compatible fallback fonts for textarea (#64)
Co-authored-by: lscambo13 <32175188+lscambo13@users.noreply.github.com>
2025-08-05 09:27:36 -07:00
lscambo13
110e628007 dev: updated comments for clarity 2025-08-05 09:13:18 -07:00
lscambo13
867f68992f dev: Included add-on versions to make debugging easier 2025-08-05 08:49:11 -07:00
lscambo13
21b94b3eae Fix: Custom Media Covers add-on was still on an older version; it should be the latest now 2025-08-05 08:46:52 -07:00
lscambo13
b6d2bb0379 Fix: Up Next title line was overflowing the dialog container on older browsers 2025-08-05 08:28:17 -07:00
lscambo13
52f993e437 Revert: Rolled back theme video support for now because of issues with the main video player a3a1765efe 2025-08-05 07:41:03 -07:00
lscambo13
d7cb89cd8b Fix: Tweaked the card size scaling to prevent cards from becoming too small at resolutions above 1080p
Previously:
7 posters at 1080p resolution
17 posters at 4K resolution
Now:
7 posters at 1080p resolution
12 posters at 4K resolution
2025-08-05 07:15:05 -07:00
lscambo13
a3a1765efe New: Added styling for Theme Videos 2025-08-05 06:38:01 -07:00
26 changed files with 13482 additions and 899 deletions

View File

@@ -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]

View File

@@ -95,8 +95,8 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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>
@@ -118,7 +118,8 @@ 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>
@@ -126,15 +127,19 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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" />
- 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. - Second, copy and paste the following code at the end in Custom CSS box but don't save yet.
``` ```
:root{ :root{
--loginPageBgUrl: url("<YOUR-JELLYFIN-SERVER-ADDRESS>/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2"); --loginPageBgUrl: url("<YOUR-JELLYFIN-SERVER-ADDRESS>/Branding/Splashscreen?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2");
} }
``` ```
- Third, replace `<YOUR-JELLYFIN-SERVER-ADDRESS>` with your Jellyfin server address, for example, `http://192.168.0.1:8097`. - 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. - 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. - 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. - Once done, save and refresh your apps and webpages.
@@ -143,6 +148,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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>
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/cb8479c2-c577-4d54-a567-697f54291a3b" />
- To enable 'Mark Played' and 'Add to Favorites' buttons that show up at the bottom right corner of cards while hovering, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. - 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{ :root{
@@ -155,6 +163,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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>
<img width="400" height="auto" alt="image" src="https://github.com/user-attachments/assets/ebde9db6-cd2f-47b5-bdb9-cee1e9852e2e" />
- To bring the mini play button to the center of cards, copy and paste the following code at the end in Custom CSS box, click save and finally refresh your app/webpage. - 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{ :root{
@@ -167,6 +178,8 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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>
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{ :root{
@@ -179,6 +192,9 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<details> <details>
<summary><i>6. Enable labels below library cards</i></summary> <summary><i>6. Enable labels below library cards</i></summary>
<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. - 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{
@@ -189,7 +205,10 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
</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.
``` ```
@@ -198,11 +217,29 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
- To undo this change, simply remove this code block. - To undo this change, simply remove this code block.
</details> </details>
<details>
<summary><i>8. Switch between different app bar styles</i></summary>
https://github.com/user-attachments/assets/b5868cd2-8df9-490d-a2b6-4386c6ddcd56
- You can switch between these using `--appBarHeight`.
- Use 5em to enable the fading app bar (seamless) (default);
- Or, use 4.6em to get the solid app bar (cleaner with border)
```
:root{
/* example */
--appBarHeight: 4.6em;
}
```
- To undo this change, simply remove this code block.
</details>
<hr> <hr>
### 🆗 Tested on ### 🆗 Tested on
- Jellyfin Server v10.10.6 - Jellyfin Server v10.11.1
- Jellyfin Android App v2.6.2 - Microsoft Edge (Chromium)
- Jellyfin Android App v2.6.3
<hr> <hr>
@@ -210,18 +247,21 @@ https://github.com/user-attachments/assets/bb7f3174-b703-4c98-a23c-e6bb4abba390
<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>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
/* Add-on: Custom media covers for the ElegantFin Theme for Jellyfin by lscambo13 */ /* Add-on: Custom media covers nightly for the ElegantFin Theme for Jellyfin by lscambo13 */
:root { :root {
/* my media library default covers customizations */ /* my media library default covers customizations */
@@ -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: 3.5vh; 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;
} }

View File

@@ -1,4 +1,4 @@
/* Add-on: Custom media covers for the ElegantFin Theme for Jellyfin by lscambo13 */ /* Add-on: Custom media covers v25.01.25 for the ElegantFin Theme for Jellyfin by lscambo13 */
:root{ :root{
/* my media library default covers customizations */ /* my media library default covers customizations */

View File

@@ -0,0 +1,188 @@
/* Add-on: Custom media covers v25.08.02 for the ElegantFin Theme for Jellyfin by lscambo13 */
:root {
/* my media library default covers customizations */
--colorOverlayMoviesCover: rgb(193, 103, 104);
--colorOverlayTvshowsCover: rgb(140, 149, 43);
--colorOverlayLivetvCover: rgb(17, 98, 159);
--colorOverlayPlaylistsCover: rgb(118, 61, 216);
--colorOverlayBoxsetsCover: rgb(219, 180, 53);
--colorOverlayMusicCover: rgb(11, 93, 72);
--colorOverlayHomevideosCover: rgb(39, 90, 185);
--colorOverlayBooksCover: rgb(166, 68, 70);
--colorOverlayFoldersCover: rgb(173, 60, 113);
--urlMoviesCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/movies.webp);
--urlTvshowsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/tvshows.webp);
--urlLivetvCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/livetv.webp);
--urlPlaylistsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/playlists.webp);
--urlBoxsetsCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/boxsets.webp);
--urlMusicCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/music.webp);
--urlHomevideosCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/homevideos.webp);
--urlBooksCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/books.webp);
--urlFoldersCover: url(https://raw.githubusercontent.com/lscambo13/ElegantFin/refs/heads/main/Theme/assets/img/library-covers/folders.webp);
}
.card-withuserdata[data-isfolder="true"] .cardImageContainer.defaultCardBackground {
filter: contrast(0.85);
background-size: cover !important;
background-position: 50% !important;
background-blend-mode: multiply;
}
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"], [data-type="Series"], [data-type="Folder"], [data-type="Season"], [data-type="Playlist"]) .cardImageContainer.cardContent::before {
position: absolute;
font-size: 3.5vh;
margin-bottom: .175em;
font-weight: 800;
color: white;
font-family: 'Noto Sans';
text-align: center;
}
.card-withuserdata[data-isfolder="true"]:not([data-type="PhotoAlbum"], [data-type="Series"], [data-type="Folder"]) .cardImageIcon.material-icons:not(.quiz)::before {
display: none;
}
/* These show up when no image is set */
/* div[data-collectiontype="movies"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayMoviesCover) !important;
background-image: var(--urlMoviesCover) !important;
}
div[data-collectiontype="tvshows"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayTvshowsCover) !important;
background-image: var(--urlTvshowsCover) !important;
}
div[data-collectiontype="livetv"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayLivetvCover) !important;
background-image: var(--urlLivetvCover) !important;
}
div[data-collectiontype="music"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayMusicCover) !important;
background-image: var(--urlMusicCover) !important;
}
div[data-collectiontype="homevideos"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayHomevideosCover) !important;
background-image: var(--urlHomevideosCover) !important;
}
div[data-collectiontype="books"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayBooksCover) !important;
background-image: var(--urlBooksCover) !important;
}
div[data-collectiontype="boxsets"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayBoxsetsCover) !important;
background-image: var(--urlBoxsetsCover) !important;
}
div[data-collectiontype="folders"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayFoldersCover) !important;
background-image: var(--urlFoldersCover) !important;
}
div[data-collectiontype="playlists"] .cardImageContainer.defaultCardBackground {
background: var(--colorOverlayPlaylistsCover) !important;
background-image: var(--urlPlaylistsCover) !important;
} */
/* These are the front facing images */
div[data-collectiontype="movies"] .cardImageContainer.cardContent {
background: var(--colorOverlayMoviesCover) !important;
background-image: var(--urlMoviesCover) !important;
}
div[data-collectiontype="tvshows"] .cardImageContainer.cardContent {
background: var(--colorOverlayTvshowsCover) !important;
background-image: var(--urlTvshowsCover) !important;
}
div[data-collectiontype="livetv"] .cardImageContainer.cardContent {
background: var(--colorOverlayLivetvCover) !important;
background-image: var(--urlLivetvCover) !important;
}
div[data-collectiontype="music"] .cardImageContainer.cardContent {
background: var(--colorOverlayMusicCover) !important;
background-image: var(--urlMusicCover) !important;
}
div[data-collectiontype="homevideos"] .cardImageContainer.cardContent {
background: var(--colorOverlayHomevideosCover) !important;
background-image: var(--urlHomevideosCover) !important;
}
div[data-collectiontype="books"] .cardImageContainer.cardContent {
background: var(--colorOverlayBooksCover) !important;
background-image: var(--urlBooksCover) !important;
}
div[data-collectiontype="boxsets"] .cardImageContainer.cardContent {
background: var(--colorOverlayBoxsetsCover) !important;
background-image: var(--urlBoxsetsCover) !important;
}
div[data-collectiontype="folders"] .cardImageContainer.cardContent {
background: var(--colorOverlayFoldersCover) !important;
background-image: var(--urlFoldersCover) !important;
}
div[data-collectiontype="playlists"] .cardImageContainer.cardContent {
background: var(--colorOverlayPlaylistsCover) !important;
background-image: var(--urlPlaylistsCover) !important;
}
.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent {
filter: contrast(0.85);
background-size: cover !important;
background-position: 50% !important;
background-blend-mode: multiply;
}
div[data-collectiontype="movies"] .cardImageContainer.cardContent::before {
content: "Movies";
}
div[data-collectiontype="tvshows"] .cardImageContainer.cardContent::before {
content: "TV Shows";
}
div[data-collectiontype="livetv"] .cardImageContainer.cardContent::before {
content: "Live TV";
}
div[data-collectiontype="music"] .cardImageContainer.cardContent::before {
content: "Music";
}
div[data-collectiontype="homevideos"] .cardImageContainer.cardContent::before {
content: "Home Videos";
}
div[data-collectiontype="books"] .cardImageContainer.cardContent::before {
content: "Books";
}
div[data-collectiontype="boxsets"] .cardImageContainer.cardContent::before {
content: "Collections";
}
div[data-collectiontype="folders"] .cardImageContainer.cardContent::before {
content: "Folders";
}
div[data-collectiontype="playlists"] .cardImageContainer.cardContent::before {
content: "Playlists";
}
.card-withuserdata[data-isfolder="true"] .cardImageContainer.cardContent {
filter: contrast(0.85);
background-size: cover !important;
background-position: 50% !important;
background-blend-mode: multiply;
}

File diff suppressed because one or more lines are too long

View 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;
}

View File

@@ -1 +1,2 @@
.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;}.layout-desktop #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-desktop .logo-container{top:10vh;}.layout-desktop .backdrop,.layout-desktop .backdrop-container,.layout-desktop .backdrop-overlay{mask-image:none;-webkit-mask-image:none;}.layout-desktop .backdrop-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),40%,transparent);} /* Add-on: Media Bar plugin support v25.11.25 for the ElegantFin Theme for Jellyfin by lscambo13 */
.play-button::before,.detail-button::before,.favorite-button::before,.favorite-button.favorited::before{font-weight:400}.play-button{font-family:"Inter";font-size:1em;font-weight:500}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),70%,rgba(0,0,0,0));background-color:transparent}.backdrop{transform-origin:center left}.rating-value{flex-wrap:wrap;justify-content:center}.age-rating{font-size:.8em}#slides-container{width:calc(100vw - (2 * var(--sidePadding)));height:62%;top:var(--appBarHeight);border:var(--defaultBorder);border-radius:var(--largerRadius);transition:all .125s,border 0s;user-select:none}.logo-container{top:10vh}.backdrop,.backdrop-container,.backdrop-overlay{mask-image:none;-webkit-mask-image:none}.backdrop-overlay{background:linear-gradient(0deg,rgba(0,0,0,.85),40%,transparent)}@media only screen and (max-width:767px) and (orientation:portrait){.button-container{top:calc(50% + 20vh);transform:translateX(-50%) scale(.8)}.tomato-rating{display:none}.dots-container{top:calc(50% + 19vh)}.backdrop{transform-origin:center}}@media (min-width:75em){#slides-container{top:calc(.5 * var(--appBarHeight))}}@media only screen and (max-height:767px) and (orientation:landscape){#slides-container{height:57%}.logo-container{top:3%}}@media only screen and (max-width:767px) and (orientation:portrait){.logo-container{top:50%}}

View File

@@ -1,19 +1,5 @@
/* 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,
@@ -22,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;
} }
@@ -30,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;
} }
@@ -39,30 +25,79 @@
transform-origin: center left; transform-origin: center left;
} }
/* this is my own take */ .rating-value {
.layout-desktop #slides-container { flex-wrap: wrap;
justify-content: center;
}
.age-rating {
font-size: 0.8em;
}
#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-desktop .logo-container { .logo-container {
top: 10vh; top: 10vh;
} }
.layout-desktop .backdrop, .backdrop,
.layout-desktop .backdrop-container, .backdrop-container,
.layout-desktop .backdrop-overlay { .backdrop-overlay {
mask-image: none; mask-image: none;
-webkit-mask-image: none; -webkit-mask-image: none;
} }
.layout-desktop .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) {
.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 */ /* this styles the media bar plugin - end */

View File

@@ -1,3 +1,5 @@
/* Add-on: Media Bar plugin support v25.08.02 for the ElegantFin Theme for Jellyfin by lscambo13 */
/* this styles the media bar plugin - start */ /* this styles the media bar plugin - start */
.button-container { .button-container {
align-items: center; align-items: center;

View File

@@ -0,0 +1,109 @@
/* Add-on: Media Bar plugin support v25.08.08 for the ElegantFin Theme for Jellyfin by lscambo13 */
/* this styles the media bar plugin - start */
.button-container {
align-items: center;
}
.favorite-button {
background: none;
color: var(--textColor);
}
.detail-button:hover,
.favorite-button:hover {
background: var(--dimTextColor);
color: black;
}
.play-button::before,
.detail-button::before,
.favorite-button::before,
.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;
}
/* this is my own take */
.rating-value {
flex-wrap: wrap;
justify-content: center;
}
.age-rating {
font-size: 0.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: 0em;
}
.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(0.8);
}
.info-container {
/* top: calc(50% + 6vh); */
}
.tomato-rating {
display: none;
}
.dots-container {
top: calc(50% + 19vh);
}
.backdrop {
transform-origin: center;
}
}
/* this styles the media bar plugin - end */

View 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 */

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -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
![image](https://github.com/user-attachments/assets/6975a5ef-4824-4807-9afa-434fc3ebaf6f) ![image](https://github.com/user-attachments/assets/6975a5ef-4824-4807-9afa-434fc3ebaf6f)
``` ```
@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%);
} }
``` ```
@@ -142,8 +160,6 @@ This is a Jellyfin add-on that allows you to customise My Media cover arts. This
- Remember, you do not need to configure anything if you're happy with the default set of images. - 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>
```

View File

@@ -4,5 +4,10 @@
"path": "." "path": "."
} }
], ],
"settings": {} "settings": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"prettier.useTabs": false,
"prettier.printWidth": 120,
}
} }