Skip to content

Admin Media Management Support#148

Merged
MakD merged 3 commits into
masterfrom
media-management
Jun 2, 2026
Merged

Admin Media Management Support#148
MakD merged 3 commits into
masterfrom
media-management

Conversation

@MakD

@MakD MakD commented Jun 2, 2026

Copy link
Copy Markdown
Owner

This PR introduces a comprehensive suite of administrative features for managing media items. Users with administrator privileges can now edit metadata, identify media using external providers, and manage artwork directly from the item detail screens.

Key Changes:

  • Administrative UI: Added EditMetadataScreen for field-level editing (title, overview, genres, cast), IdentifyScreen for provider matching, and EditImagesScreen for local/remote artwork management.
  • Data Layer: Implemented AdminRepository and JellyfinAdminRepository to interface with Jellyfin management APIs for metadata updates and image manipulation.
  • Synchronization: Introduced AdminChangeBroadcaster to facilitate real-time UI refreshes across the app when administrative changes occur.
  • Integration: Updated ItemDetailScreen, ActionButtonsRow, and navigation logic to conditionally display management options based on user permissions.
  • Resources: Added new icons and drawables for administrative actions, including image search and metadata editing.

MakD added 3 commits June 2, 2026 14:26
This commit introduces a comprehensive suite of administrative features for managing media items. Users with administrator privileges can now edit metadata, identify media using external providers, and manage artwork directly from the item detail screens.

### Key Changes:

*   **Administrative UI**: Added `EditMetadataScreen` for field-level editing (title, overview, genres, cast), `IdentifyScreen` for provider matching, and `EditImagesScreen` for local/remote artwork management.
*   **Data Layer**: Implemented `AdminRepository` and `JellyfinAdminRepository` to interface with Jellyfin management APIs for metadata updates and image manipulation.
*   **Synchronization**: Introduced `AdminChangeBroadcaster` to facilitate real-time UI refreshes across the app when administrative changes occur.
*   **Integration**: Updated `ItemDetailScreen`, `ActionButtonsRow`, and navigation logic to conditionally display management options based on user permissions.
*   **Resources**: Added new icons and drawables for administrative actions, including image search and metadata editing.
This commit integrates `AdminChangeBroadcaster` into several core ViewModels to ensure that the UI automatically refreshes when administrative changes occur. Each affected ViewModel now collects the `itemChanged` flow within its `viewModelScope` to trigger a reload of its respective data.

### Key Changes:

*   **`GenreResultsViewModel`**: Injected `AdminChangeBroadcaster` and updated the UI to call `reloadGenre` when an item change is broadcasted.
*   **`WatchlistViewModel`**: Now listens for administrative changes to trigger `loadWatchlist`.
*   **`LibraryContentViewModel`**: Now listens for administrative changes to trigger `loadItems`.
*   **`FavoritesViewModel`**: Now listens for administrative changes to trigger `loadFavorites`.
*   **`PersonViewModel`**: Now listens for administrative changes to trigger `loadPersonDetails`.
This commit replaces hardcoded text across the admin management screens with string resources. This improves maintainability and prepares the administration features for localization.

### Key Changes:

*   **`strings.xml`**: Added a comprehensive set of string resources for the "Identify," "Edit Metadata," "Edit Images," and "Refresh Metadata" screens, including labels, button text, and content descriptions.
*   **Admin Screens**: Updated `IdentifyScreen.kt`, `EditMetadataScreen.kt`, `EditImagesScreen.kt`, and `RefreshMetadataDialog.kt` to use `stringResource()` for all UI text.
*   **Shared Components**: Refactored admin-related menus in `ActionButtonsRow.kt` and `EpisodeDetailOverlay.kt` to use string resources for menu items and accessibility labels.
@MakD MakD merged commit d595001 into master Jun 2, 2026
1 check passed
@MakD MakD deleted the media-management branch June 2, 2026 10:35
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.

1 participant