- Introduced a new `IntegrationsSettingsPage` to manage TMDB, MDBList, and Trakt integrations.
- Updated `SettingsNavigationRow` to support both `ImageVector` and `Painter` for icons.
- Created `IntegrationLogo` enum to represent different integration logos.
- Implemented platform-specific logo handling in `IntegrationLogoPainter` for Android and iOS.
- Added new drawable resources for MDBList logo in both Android and common resources.
- Refactored `SearchScreen` to improve query handling and search history recording.
- Updated TraktAuthState to replace device and user codes with pending authorization fields.
- Modified TraktAuthUiState to remove polling fields and include pending authorization timestamp.
- Introduced TraktBrandAsset enum for brand assets.
- Implemented traktBrandPainter function for Android and iOS to provide appropriate brand images.
- Added SVG and XML resources for Trakt brand assets (logo wordmark and favicon).
- Updated iOS app to handle URL callbacks for Trakt authentication.
- Added TraktAuthBridge to manage authentication callback handling.
- Introduced MetaExternalRating data class to hold external ratings.
- Updated MetaDetails to include externalRatings list.
- Implemented MdbListMetadataService for fetching ratings from MDBList API.
- Created MdbListSettings and MdbListSettingsRepository for managing settings.
- Added UI components for displaying external ratings in DetailMetaInfo.
- Integrated MDBList settings into the settings screen with options for enabling/disabling and configuring providers.
- Updated ProfileRepository to handle MDBList settings changes.
- Enhanced error handling and caching for MDBList API requests.
- Introduced a new toggle for trailers in TMDB settings.
- Updated TMDB metadata service to fetch and handle trailers.
- Enhanced TMDB settings repository and storage to persist trailer preferences.
- Implemented trailer playback resolver for iOS, integrating YouTube extractor.
- Modified player bridge to support loading video with audio.
- Added necessary data classes and methods for trailer management and playback.
- Added clear() method to PlayerLaunchStore for resetting launch state.
- Refactored PlayerScreen to manage active playback state with new variables for source and episode details.
- Introduced PlayerSourcesPanel for displaying and selecting available streams.
- Implemented PlayerStreamsRepository for managing stream fetching and state for sources and episodes.
- Added reset() method to SearchRepository for clearing search state.
- Enhanced various repositories (PlayerSettingsRepository, WatchedRepository, etc.) with clearLocalState() methods for resetting their states.
- Created PlatformLocalAccountDataCleaner for iOS to handle local account data cleanup.
- Added `DeviceLanguagePreferences` for Android and iOS to retrieve preferred language codes.
- Enhanced `PlayerSettingsStorage` to save and load preferred audio and subtitle languages.
- Updated `PlayerSettingsRepository` to manage audio and subtitle language preferences.
- Modified `PlayerScreen` to apply preferred audio and subtitle selections.
- Introduced `PlaybackSettingsSection` in `PlaybackSettingsPage` for user to select audio and subtitle languages.
- Added language normalization and matching functions to support language preference logic.
- Updated `SubtitleTrack` model to include `isForced` property for subtitle tracks.
- Introduced ContinueWatchingPreferencesStorage for managing user preferences.
- Added ContinueWatchingPreferencesRepository to handle loading and saving preferences.
- Created UI components for Continue Watching settings, including visibility toggle and style selection.
- Implemented new settings pages for Appearance and Continue Watching.
- Updated MainActivity to initialize ContinueWatchingPreferencesStorage.
- Enhanced HomeScreen to display Continue Watching section based on user preferences.
- Refactored NuvioShelfSection to allow customizable item spacing.
- Added new styles for Continue Watching cards: Wide and Poster.
- Implemented SubtitleModal composable for displaying subtitle options.
- Created SubtitleRepository to handle fetching and managing addon subtitles.
- Added SubtitleStylePanel for customizing subtitle appearance and settings.
- Updated PlayerEngine for iOS to support subtitle track management
- Added navigation support using Jetpack Compose Navigation.
- Created MetaDetailsScreen to display detailed information about media items.
- Introduced MetaDetailsRepository for fetching and managing media details.
- Added components for displaying action buttons, cast, and meta information.
- Updated HomeScreen and HomePosterCard to handle poster click events.
- Integrated new UI components into the existing app structure.
- Added platform-specific insets for better layout handling.
- Updated Gradle dependencies for navigation and serialization support.