- 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.
- Updated PlayerEpisodesPanel, PlayerOverlays, PlayerSourcesPanel, SubtitleModal, and SubtitleStylePanel to use MaterialTheme.colorScheme for consistent theming.
- Replaced hardcoded colors with dynamic colors from the MaterialTheme, enhancing adaptability to different themes.
- Improved accessibility and visual consistency across various player components by ensuring text and background colors align with the current theme.
- 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.