Giter VIP home page Giter VIP logo

jellyskin's Introduction

JellySkin

over engineered css theme for Jellyfin

npm (tag) jsDelivr hits (npm) GitHub
GitHub Repo stars

ℹ️ Usage

Important

JellySkin requires Chrome (105 and above), Edge (105 and above), Safari (15.4 and above), Firefox (121 and above), Opera (91 and above) and any other Browser supporting Baseline 23 css features to work properly

  • To use the JellySkin theme copy the line below into "Dashboard -> General -> Custom CSS" and click save, it will apply immediately server-wide to all users on top of any theme they may be using. To remove the theme, clear the "Custom CSS" field and then click save. NOTE: Theme may not work when using Nginx Reverse Proxy. Scroll down below to learn how to fix this.

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/main.css");
  • To enable Logos add this to custom css:

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/logo.css");
  • You can also use Jellyfin-Skin-Manager-Plugin : https://github.com/danieladov/jellyfin-plugin-skin-manager

    [!CAUTION] Jellyfin Skin Manager is not being actively maintained and might not load latest css themes

🧩 Addons

  • Improve Performance

  • Remove BackdropFilter

    This removes the frosted glass like effect from every place and improves performance

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/improvePerformance/removeBackdropFilter.css");
  • Remove scroll fade

    This removes the gradient faded bar at top of a scrollable container

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/improvePerformance/removeFadingScroll.css");
  • Horizontal My Media

    Brings back the horizontal section for My Media

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/horizontalMyMedia.css");
  • Using/Changing default gradient accent

    If you want want to change the default jellyfin gradient accent to some other preset gradient use:

    Note : Remember to put gradient css files below the main.css file import. Also this won't affect the login mesh background's colors.

    • Mauve

      @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/gradients/mauve.css");

      Example:
      image

    • NightSky

      @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/gradients/nightSky.css");

      Example:
      image

    • Sea

      @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/gradients/sea.css");

      Example:
      image

    • Custom

      If you need to add your own gradient use:

      :root {
        --accent1-light: YOUR ACCENT COLOR 1(LIGHTER SHADE);
        --accent1-dark: YOUR ACCENT COLOR 1(DARKER SHADE);
        --accent1-light-opacity1: YOUR ACCENT COLOR 1(WITH OPACITY 0.4);
        --accent2-light: YOUR ACCENT COLOR 2(LIGHTER SHADE);
        --accent2-dark: YOUR ACCENT COLOR 2(DARKER SHADE);
      }
  • Add blur to video theme backgrounds

    Adds the blur effect present on static backgrounds to video theme backgrounds as well. Caution: This is a performance intensive filter and may cause considerable slowdowns on some devices. If you are adding this to the serverwide Custom CSS, users can remove the effect using the Remove Backdrop Filter addon above.

    @import url("https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/addons/videoThemeBlur.css");

💻 Screenshots

  • Login Page

    Login_Page

  • Home Screen

    Home page

  • Library

    Library

  • Title Screen

    Title page

  • Episodes List

    Episodes

❓ Common Problem Fixes

  • Unable to see blured background in Firefox

    Deaktiviert From version 70: this feature is behind the layout.css.backdrop-filter.enabled preference (needs to be set to true) and the gfx.webrender.all preference (needs to be set to true). To change preferences in Firefox, visit about:config

  • Logos are not visible even with logo.css

    • Get Fanart Plugin, Dashboard -> Plugin -> Catalog
    • Enable Fanart as a metadata provider for your libraries in the library settings, Dashboard -> Library -> Click on 3 dots on your Library -> Manage Library -> Scroll to find Metadata provider and enable Fanart in all of them.
    • Rescan your drive and also enable Replace Metadata and scan
  • Background not visible

    • Go to Settings -> Display -> and enable Backdrops option
  • Fix for Nginx Reverse Proxy

    When using the Nginx Reverse proxy config from the Jellyfin docs the theme will probably not work by default. (If you are using the subpath config, you can ignore all this.)

    This config includes an CSP (Content Security Policy) with headers that don't allow for loading in external content that are not defined there.

    In the nginx config you should add the URLs of all the CSS files you've imported through the "Custom CSS" box. this:

    add_header Content-Security-Policy "default-src https: data: blob: http://image.tmdb.org; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'";

    becomes (with only adding the default style):

    add_header Content-Security-Policy "default-src https: data: blob: http://image.tmdb.org; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net/npm/jellyskin@latest/dist/main.css; script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'";

    If you don't do this the theme will simply not load (reverts back to default theme) and the browser console will spit out an error. Even if you paste in all the CSS, the font will still not load since it is loaded from a disallowed external source.

  • How to report a Bug or request a Feature?

  • How to contribute

    • Fork this repository.
    • Add your patch/feature
    • Create a pull request and thats it

jellyskin's People

Contributors

6im0n avatar adripo avatar cleanmachine1 avatar mihawk90 avatar nicogodet avatar prayag17 avatar robocrax avatar uranderu avatar wbry21 avatar yuckdevchan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jellyskin's Issues

Bug: Nginx won't load the nested @import .css

Describe the bug
NGINX CSP blocks the import of the nested css files (FA fonts), see the screenshot from the dev console. The main jellyskin loads without issue, but the fonts throw errors.

Expected behavior
Not block them

Screenshots
image
image

Desktop (please complete the following information):

  • OS: Win10
  • Browser Brave
  • Version latest

Bug: Samsung App Screen Goes Blank On Scroll After Exiting App

Hey,

I'm encountering an issue on Samsung Tv's (Tizen) where on first install it worked perfectly after exiting the app you're able to see the full screen up until you start scrolling once you scroll the screen comes up blank

TV Model: QN65Q70AAFXZA
Software Version: T-NKM2AKUC-1805.4

Steps to reproduce:

Login to Jellyfin
Press the back button until you are asked Do you want to exit?
Click Yes

The next time I open the app I have this issue

jellyfin/jellyfin-tizen#98

The recommended fix is

.layout-tv div[data-role="page"] {
overflow: auto;
}

Some issues on mobile version.

Hey, great work, the theme looks awesome.

I‘m using the default.css and the logo.css.
Sadly, especially on the mobile version, I encountered several problems, as you can see here:

Bildschirmfoto 2021-03-26 um 07 16 05
Actors don’t have a logo, therefore nothing but a blank space is displayed.
Same goes for playlists (music), artists, ...

It would be nice, (don’t know if it’s possible), to only hide the title text, if there actually is a logo image present.

Bildschirmfoto 2021-03-26 um 07 16 37
Also since the last update, the episode list doesn’t have the same white background, every other page has, but a giant image.

Bildschirmfoto 2021-03-26 um 07 25 37
Unlike any other page, I‘m able to drag the episode list page sideways. Which leads to some sort of „wobbly“ feeling, when scrolling.

Also also, the big image seems to impact performance on the episode list page. While scrolling, everything is constantly loading in.
Bildschirmfoto 2021-03-26 um 07 29 58
(Catching this on foto isn’t quite easy, but I tried here)

Bildschirmfoto 2021-03-26 um 07 32 08
The logo is displayed alongside the name/title on the album page.
Also it’s (about 75% the times for me) sometimes overlapping the text.
Also also the colour of the music tracks seems to be incorrect.

Chapters don't display properly

The box at the bottom of chapter cards showing title and time isn't tall enough for the text and just displays as a thin line:
grafik

I've written some CSS to fix this, but it might not be how you want your theme to look, so you might want to change it a bit before copy/pasting into the theme. I also fixed zooming in on hover:

/* text box fix */
.chapterCard .innerCardFooter {
  height: auto;
  background: rgba(0, 0, 0, 0.7);
}

.chapterCard .innerCardFooter > .cardText:first-child {
  float: left;
}

.chapterCard .innerCardFooter > .cardText:last-child {
  float: right;
}

/* zoom fix */
.chapterCard .cardImageContainer {
  background-size: 100%;
  transition: background-size 0.15s ease-out;
  background-position: center;
}

grafik

Logo version does not work.

Dunno what it is, I add default, refresh, it works fine, replace it with logo, and it reverts to plain ol jellyfin.

Bug: Icon bug

Hello brother, I like your theme very much, but there is a bug here that you need to solve.
I have a suggestion. Can the blue part of the screenshot be changed to a gradient or a blurry transparent effect? :D
20210611230157

Transform Hover Scale

RightNow in JellySkin the movie Posters shrink while everything else increases its scale

[Music] Can't reorder playlist, floating player looks weird

The floating player:
image
I'm not sure how to enable/disable this or whatever and how it is suppose to look, but this looks strange.

image
When hovering on a song in a playlist, the item gets so much bigger the little thing to reorder goes out of the screen on a 1080 display. Not sure if the animation could be less intense or smaller on playlist items so re-ordering would be possible. I couldn't get the screenshot to reflect the issue.

Side note: Damn that skin is sick, thanks! ❤️ I might change a couple of things to my taste but I love it! Many thanks.

Bug: Duplicate on 'Edit Images' dialog

Describe the bug
When you go to edit images for a title, the skin renders two versions of the same image at two different sizes.

To Reproduce
Steps to reproduce the behavior:

  1. Open the 'Edit Images' dialog.
  2. Check images (especially images with transparency such as logos).

Expected behavior
A single image.

Screenshots

Video example:
https://user-images.githubusercontent.com/13402525/149960978-c5b67fdb-c442-456e-997e-8f9b9e9de79c.mp4

Desktop (please complete the following information):

  • OS: Windows 11
  • Browser: Chrome & Firefox

Cards are way too big on mobile

On mobile only 2 columns of cards are shown rather than three, only one actor card can be seen at a time, and collections become a list rather than a grid since everything is too large.

not working fine on mobile

It's not working fine on mobile since last two or three days - before that it worked very well.
problems like a big play button for watching movie before it was plain n simple

Episode & album list issues on mobile

Device:
iPhone 12 Pro
Operating System:
iOS 14.4.1
Browser:

  • Firefox Daylight 33.0
  • official Jellyfin App 1.3.0 (5.3.1.1)

Bildschirmfoto 2021-03-30 um 10 49 18
When browsing the episode list of a series, there seems to be something off with the background of the individual episodes.

Bildschirmfoto 2021-03-30 um 10 51 36
When browsing an album, the colour of the artists text is incorrect (white on white bg) and the individual music tracks are way too large (This is an "issue" on desktop as well). After selecting one track, the colour of the name is incorrect (grey on grey bg).

Bug: Arrows on dashboard are too close to text & Casting to devices shows blank icon where cast button is

Describe the bug
A clear and concise description of what the bug is.
Arrows on dashboard are too close to text & Casting to devices shows blank icon where cast button is
To Reproduce
Steps to reproduce the behavior:

  1. Click on your profile
  2. go to your Dashboard
  3. See Arrows are too close to text

Steps to reproduce the behavior V2:

  1. Click on Cast
  2. Click on any device
  3. See Icon Missing

Expected behavior
A clear and concise description of what you expected to happen.
The Arrows to be not be overlapping w/ text & That The Casting to a device will show something and not just a blank area

Screenshots
If applicable, add screenshots to help explain your problem.
image
image
image
image

Desktop (please complete the following information):

  • OS: [e.g. iOS] Windows 10
  • Browser [e.g. chrome, safari] Firefox
  • Version [e.g. 22] 78.14.0esr

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

want to use it with custom logo

Hi - your css is really cool but I want to use it with custom logo - when I add my custom logo url then whole css changed to default, it will be great if you give choice to add custom logo by default!

Request for releases

It is suggested that every update should be divided into different versions, otherwise a code will always change and make me feel bad!

Bug: editing metadata on app buggy

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'any show's episode or movie'
  2. Click on 'edit metadata'
  3. See error

Expected behavior
A clear and concise description of what you expected to happen.
To show the metadata stuff to edit

Screenshots
If applicable, add screenshots to help explain your issue
Screenshot_20211122-235110_Jellyfin

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6] Samsung galaxy s8
  • OS: [e.g. iOS8.1] Android 9
  • Browser [e.g. stock browser, safari] jellyfin app
  • Version [e.g. 22] 2.4.1

Additional context
Add any other context about the problem here.

Music album layout is weird

The items in a music album page are listed in a strange layout:

Screenshot from 2021-06-04 13-11-04

Is this intentional? With the vanilla CSS, they are listed as an single column which I think is a lot better.

Screenshot from 2021-06-04 13-13-30

Bug: Login Page background

The #loginPage background image property (line 1505-1506) is set as !important.

This means that I can't use jellyfin-fanartbackground because the default JellySkin background takes priority over it. It'd be great to have the option to disable the default #loginPage background using an imported script or something so I can use my own more easily.

My Media section missing on mobile

Hi, I like your theme, but if I use it on mobile, there the "My Media" section on the top is completely missing and I have to use the Burger menu to access the libraries.

Disable the use of google fonts

Since a recent commit, Privacy Badger add-on blocked all the icons because it was hosted by google. I don't want to enable google on Privacy Badger, so is there a way to change that without downloading the file locally ? I wanna keep the @import url in my jellyfin settings so I can still get all the udpates.

Bug: remote control doesnt fit

Describe the bug
A clear and concise description of what the bug is.
Whenever you use your mobile device as a remote control it will not fit the borders
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'cast.'
  2. Click on 'any device'
  3. Scroll down to 'it wont fit your mobile device'

Expected behavior
A clear and concise description of what you expected to happen.
For the theme to fit on the screen
Screenshots
If applicable, add screenshots to help explain your issue
20210718_010918.jpg

Desktop (please complete the following information):

  • OS: [e.g. iOS] Windows
  • Browser [e.g. chrome, safari] firefox
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6] Samsung Galaxy S8
  • OS: [e.g. iOS8.1] android 9
  • Browser [e.g. stock browser, safari] jellyfin app
  • Version [e.g. 22] 2.3.0-Beta.6

Additional context
Add any other context about the problem here.

Bug: Missing cancel button image for scan library

Describe the bug
A clear and concise description of what the bug is.
A missing icon
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'dashboard'
  2. Click on 'scan library'
  3. See missing button

Expected behavior
A clear and concise description of what you expected to happen.
to show a proper icon for the cancel button
Screenshots
If applicable, add screenshots to help explain your problem.
image
Desktop (please complete the following information):

  • OS: [e.g. iOS] Windows
  • Browser [e.g. chrome, safari] Firefox
  • Version [e.g. 22] 78.12.0esr

Additional context
Add any other context about the problem here.

Bug: Identify option broken on JMP

When I'm trying to use this option on Andorid or www works as expected, but when I'm trying to use in on JMP it just show up for a split of the second and than its invisible and cannod be used

Xbox Display error

IMG_20210607_103108
How can it be seen in the image, I don't know it shows the header with the logo and also the home and favorites links are on top of the collections

Bug: incorrect provided @import code for Logos version.

Hi! I've been struggling with adding the version with logos with no success for half an hour until I've tryed to just go to the code tab and copy-paste the entire css in the Logos.css. That worked for me, so after trying to figure out why this worked but @import didn't, I've seen there is a typo in the import code provided here and in https://prayag17.github.io/JellySkin/. Here is a screenshot for reference in case you are willing to edit it.

imagen

Thanks for your skin! It's really great.

JellyFin 10.7.0

Was hoping you'd update your most excellent work for the drab plain interface to work with 10.7

The color still seems to work but the animations and all the other many great features seem broken at this time.

Bug: Login Screen Laggy

Describe the bug
Login page is really laggy, I think that the problem is the animated background

To Reproduce
Simply load login page on Chromium or Firefox. I am using a 2K monitor, and other 4K, on both I have the same problem.

Expected behavior
It is expected to be fluid. I would like to have an option to delete the login background, or add my own with a static image.

Screenshots
Not visible on screenshot

Desktop (please complete the following information):

  • Chromium, Firefox (Tested on Manjaro Linux and Windows 11)

Smartphone (please complete the following information):

  • I don't know if it also happens in smarthpones

PD: Really thank for your work, this jellyfin skin is the best by far and it's so beautiful.

Edit: I also tested adding the fix performance option but it doesn't improve nothing in this problem
@import url("https://cdn.jsdelivr.net/gh/prayag17/JellySkin/addons/imp-per.css");

"My Media" libraries not being skinned properly with @import URL

Hello. Not sure how to describe this. But recently it seems that the custom CSS is not properly theming the My Media library buttons. Instead of being clear and centered like in the preview screenshots on this GitHub, they started looking like this:

image

I've already tried clearing CSS, saving, then re-applying CSS and saving. But the buttons just don't seem to want to theme properly. Currently running Jellyfin 10.6.4 using your import URL @import url(https://prayag17.github.io/JellySkin/default.css);. I've also tried copying just the raw CSS and using that, to the same result. Tested in Chrome v86 and Firefox Nightly v83

Reading Book All Black

When I go to read a epub book through the web the text is black on a black transparent background, making it hard to see the text.
I really enjoy the JellySkin, thanks for it.

Bug: still not fitting via remote control

Describe the bug

A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.
20210730_021643.jpg

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6] Samsung Galaxy s8
  • OS: [e.g. iOS8.1] android 9
  • Browser [e.g. stock browser, safari] app
  • Version [e.g. 22] 2.3.0-Beta

Additional context
Add any other context about the problem here.

Feature Request: Make JellyIcons work

Is your feature request related to a problem? Please describe.
I don't really like the icons, that are used by JellySkin right now, and then I found, that you have your JellyIcons Repo and those icons look very awesome, but they don't work with JellySkin.

Could you make them work so everybody can use their custom icon packs with JellySkin?

Bug: A few more problems

Thanks for fixing these issues so quickly, but there are still some minor issues. When I mark a video as watched, its image turns green. The second picture is a suggestion. There is a lot of space on the tablet. Moving this part of the information to the right of the title can improve space utilization and display more introductions. In the third picture, the singer and duration in white fonts are a little unclear on a white background, and it is better to change them to gray. The fourth picture is that sometimes the picture mask disappears, and I don't know how to reproduce it. Finally, the page on the phone is still not clickable. And they vary in length and are not as neat as web pages and tablets.
Screenshot_20220108_131350_org jellyfin mobile
Screenshot_20220108_130312_org jellyfin mobile_edit_1557920834056029
Screenshot_20220108_142834_org jellyfin mobile
Screenshot_20220108_144102_org jellyfin mobile
Screenshot_20220108_145451_org jellyfin mobile

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.