feat: Jellyfin Plugin UI Integration #51

Merged
devitq merged 13 commits from feature/jellyfin-plugin-ui-integration-2323592149917875874 into feat/implement-jellyfin-plugin-46 2026-05-22 13:36:25 +00:00
13 Commits
Author SHA1 Message Date
ITQandGitHub e56c3be14b Merge pull request #52 from devitq/fix-ui-components-jellyfin-10-11-8294678353369689429
Refactor Plugin UI for Jellyfin 10.11+
2026-05-22 16:36:01 +03:00
google-labs-jules[bot]anddevitq b59514a6eb Implement user onboarding and enhanced .strm file creation
- Added automated onboarding dialog for new users to pick genres, eras, and content types.
- Enhanced "Add Movie" functionality to support folder-per-movie structure with Year and IMDb ID.
- Improved ui.js with custom dialogs for Onboarding, Rating, and Adding Movies.
- Fixed API accessibility by using standard [Authorize] attributes.
- Added "Mark Viewed" and "Sync" actions to the UI.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 10:45:43 +00:00
ITQ 4dc806263a feat(plugins): added instructions to plugin's README 2026-05-22 11:26:44 +03:00
google-labs-jules[bot]anddevitq 2d62468639 Fix UI/API integration and enhance .strm creation logic
- Fixed 401 Unauthorized errors by using standard [Authorize] attribute.
- Improved rating dialog visibility (opacity/blur) and button text centering.
- Enhanced "Add Movie" with Year and IMDb ID fields in the UI.
- Implemented Jellyfin-standard folder structure for .strm files: "Name (Year) [imdbid-ttX]/Name (Year) [imdbid-ttX].strm".
- Added "Mark Viewed" and "Sync" buttons with status feedback.
- Ensured full compatibility with Jellyfin 10.11+ selectors and hash routing.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 08:20:20 +00:00
google-labs-jules[bot]anddevitq e0b922b39d Final UI polish and API accessibility fixes for Jellyfin 10.11+
- Fixed 401 Unauthorized errors by switching to standard [Authorize] attributes.
- Improved rating dialog visibility with better background opacity and blur.
- Centered numbers on rating buttons using flexbox.
- Enhanced "Add Movie" dialog with better contrast and spacing.
- Added "Mark Viewed" and "Sync" buttons with status feedback.
- Ensured full compatibility with Jellyfin's hash-based routing.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 07:37:12 +00:00
google-labs-jules[bot]anddevitq 955e503b28 Fix UI components, 401 Unauthorized errors, and enhance plugin functionality
- Resolved 401 Unauthorized errors by replacing non-existent AuthorizationPolicies with standard [Authorize] attributes.
- Modernized UI integration using updated selectors for Jellyfin 10.11+ (.mainDetailButtons).
- Replaced browser prompts with custom, theme-appropriate dialogs for Rating and Adding Movies.
- Added "Mark Viewed in MovieNight" functionality and UI button.
- Added "Sync Library" button and "Last Sync" status display to the Home page.
- Fixed Add Movie (STRM) integration and added support for optional stream URLs.
- Improved script reliability with a throttled MutationObserver.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 07:19:22 +00:00
5303b4e092 Fix Jellyfin UI review feedback in ui.js
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/3b934336-ab14-45b4-9672-db95eefb363a

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 06:53:38 +00:00
google-labs-jules[bot]anddevitq 60756e376c Refactor UI components and fix API accessibility for Jellyfin 10.11+
- Updated ui.js with modern Jellyfin selectors and native-styled components.
- Replaced prompt() with custom dialogs for "Add Movie" and "Rating".
- Added "Mark Viewed" and "Sync Library" actions with UI status feedback.
- Fixed 401 Unauthorized errors by using explicit Jellyfin authorization policies.
- Enhanced .strm file creation logic to support optional URLs.
- Improved Home page integration with a dedicated MovieNight section.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-22 06:49:46 +00:00
google-labs-jules[bot]anddevitq fe4b40c3dd Refactor plugin UI components for Jellyfin 10.11+ compatibility
- Updated item detail page integration to target `.mainDetailButtons`.
- Replaced rating dropdown with an icon button and custom selection dialog.
- Integrated "Recommend Film" and "Add Movie" as text buttons in Library and Home views.
- Aligned UI styles with Jellyfin's native `emby-button` patterns and ElegantFin theme.
- Improved URL parameter parsing and added throttling to UI injection logic.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 22:03:03 +00:00
google-labs-jules[bot]anddevitq 841ce8534f Refactor Jellyfin plugin: UI integration, backend contract, and STRM creation.
- Integrated "Recommend Film", "Add Movie (STRM)", and Rating UI into Jellyfin web interface.
- Implemented full library sync (metadata with poster URLs, user states) with library filtering support.
- Added support for creating films via .strm file generation.
- Updated MovieNightBackendClient to support sync, recommendations, ratings, and viewed status.
- Added proxy endpoints to MovieNightController for frontend-backend communication.
- Ensured compatibility with Jellyfin 10.11.x and .NET 9.0.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 19:54:11 +00:00
07c9995c3c fix(jellyfin): check cancellation before library query
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/7063bb08-680e-403b-b42d-355fd2ad03aa

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 18:53:19 +00:00
4c39020689 fix(plugin): address PR review feedback for sync, auth, and UI hooks
Agent-Logs-Url: https://github.com/devitq/movienight-backend/sessions/fafc7e2d-7464-44d7-a4e1-42f364dd0e37

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 18:22:43 +00:00
google-labs-jules[bot]anddevitq 0a90c3eadf Refactor Jellyfin plugin: integrate UI components and implement backend contract.
- Integrated "Recommend Film" button and Rating UI into Jellyfin web interface via MutationObserver.
- Implemented full library sync (metadata + user state) in MovieNightSyncService.
- Updated MovieNightBackendClient to support sync, recommendations, ratings, and viewed status.
- Added proxy endpoints to MovieNightController for frontend-backend communication.
- Refined sync logic to handle large libraries and ensured .NET 9.0 compatibility.

Co-authored-by: devitq <118541411+devitq@users.noreply.github.com>
2026-05-20 17:35:48 +00:00