Skip to content

feat: add Jellyfin auth, Quick Connect, profile modal, and theming - #534

Open
Nerdy-Technician wants to merge 1 commit into
CyferShepard:mainfrom
Nerdy-Technician:main
Open

feat: add Jellyfin auth, Quick Connect, profile modal, and theming#534
Nerdy-Technician wants to merge 1 commit into
CyferShepard:mainfrom
Nerdy-Technician:main

Conversation

@Nerdy-Technician

Copy link
Copy Markdown

Add Jellyfin authentication, profile modal, and appearance customization

Closes #510, #504

Authentication

  • Added Jellyfin username/password login as an alternative to the existing Jellystat login flow
  • Added Jellyfin Quick Connect support: availability check, session initiation, polling, and login token exchange

Profile modal

  • New bottom-left sidebar modal showing the currently signed-in user (read from the JWT)
  • Displays Jellyfin profile images with fallback handling when no image is set
  • Clearly labels whether the active session is a Jellyfin or Jellystat account
  • Logout action available directly from the profile surface

Appearance settings

  • Local theme controls in the profile modal: switch between Jellystat/Jellyfin color presets, or customize primary/accent/background/surface colors individually
  • Choose sidebar and login icon
  • Optional Jellyfin server splash screen as login background
  • Settings persist to localStorage and are applied on app startup

Jellyfin branding

  • App proxies Jellyfin branding assets (server splash screen, server icon)
  • Server name can be displayed in place of the icon when configured

UI polish

  • Refined brand/icon sizing, centered brand text under the logo
  • Left-aligned nav items
  • Resized profile/version card
  • Consistency pass on server/Jellyfin/Jellystat logo display

Screenshots

img1 img2 img3

Implemented Jellyfin admin login alongside the existing Jellystat login flow. Added backend auth support for Jellyfin username/password authentication and Jellyfin Quick Connect, including Quick Connect availability checks, session initiation, polling, and login token exchange.

Added a bottom-left profile modal to the sidebar. The modal now shows the active signed-in user from the JWT, supports Jellyfin profile images with fallback handling, labels Jellyfin and Jellystat accounts correctly, and provides logout from the profile surface.

Added local appearance controls in the profile modal. Users can switch Jellystat/Jellyfin color presets, customize primary/accent/background/surface colors, choose sidebar/login icons, and optionally use the Jellyfin server splash screen. Theme settings persist in localStorage and are applied during app startup.

Added Jellyfin server branding support. The app can proxy Jellyfin branding assets, including server splash screen and server icon, and can display the configured Jellyfin server name when the server icon option is selected.

Improved sidebar layout and branding polish. refined brand/icon sizing, centered brand text under the logo, aligned nav items to the left edge, improved profile/version card sizing, and adjusted server/Jellyfin/Jellystat logo display for better visual consistency.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Jellyfin login.

1 participant