feat: request button navs to the jf entry for available media - #29
Open
b3p3k0 wants to merge 1 commit into
Open
Conversation
…ia instead of being grey Co-authored by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
(generated by Claude, reviewed and lightly edited by human)
In the details modal, media that already exists on the server shows a disabled "Available" / "Partially available" button — a dead end, especially for non-technical users who found the title through the discover rows and now have no clear path to actually watch it.
This PR makes that button more effective imho by giving the user a direct path to the title: when Seerr knows the item's Jellyfin id (
mediaInfo.jellyfinMediaId/jellyfinMediaId4k, present for status 4/5), the button renders enabled — looking exactly like a normal "(Partially) Avaialble" button — and clicking it closes the modal and navigates to the item's Jellyfin details page. Label text is unchanged and users have a clear path to playing the title.ApiClient.getItem->AppRouter.showItem, falling back toDashboard.navigate('details?id=…')), copied into the modal since each Inject file is self-contained. Seerr itself builds the samedetails?id=links server-side, so the pattern has upstream precedent.else if-gated, so a navigable button can never also open the request dialog. 4K button gets the symmetric treatment.Inject/seerrfin-modal.js(+53/−5). No CSS, backend, or config changes; no version bump.How I tested
Disposable Docker stack: Fresh Jellyfin 10.11.11 + Seerr (ghcr.io/seerr-team/seerr:latest) + a local plugin repository, with File Transformation and this build installed through the normal Dashboard → Plugins → Repositories flow.
jellyfinMediaId→ button disabled, unchanged from current behavior. ✅My own "prod" stack: installed manually per Jellyfin SOP and existing prereqs
Environment: Jellyfin 10.11.11 (Docker, official image) and a bare metal "production" Jellyfin instance 10.11.11 • Seerr latest (ghcr) • Firefox on Ubuntu Linux 26.04 • default theme
Screenshots:
AI usage disclosure (per CONTRIBUTING #3)
Written with AI assistance: Claude Code (CLI/VSCode harness), model Claude Fable 5 (
claude-fable-5), across a recon session (reading this codebase + Seerr's source to findjellyfinMediaIdand the existingnavigateToJellyfinItempattern) and an implementation session. All code was reviewed line-by-line and tested end-to-end by me on the setups described above.The humble human has 30+ years experience in programming and computing, but not in these languages. Claude was a "Rosetta Stone" to turn my idea and pseudocode into something workable.
🤖 Generated with Claude Code