- Create LibraryStatusService singleton for single source of truth
- Add LibraryStatusMixin for reactive status in StatefulWidgets
- Convert all card widgets to use centralized service:
- album_card, artist_card, playlist_card, podcast_card
- radio_station_card, track_row, audiobook_row
- Convert detail screens: album_details_screen, artist_details_screen
- Fix album stuck in library after removal:
- Add removeFromCacheByLibraryId() to SyncService
- Add markCachedItemDeletedByLibraryId() to DatabaseService
- Update removeFromLibrary() to sync all caches
This ensures library/favorite status changes are immediately reflected
across all instances of the same item throughout the app.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>