- Added "All", "Movies", and "Series" FilterChips to the `CatalogHeader`.
- Computed `filteredItems` to apply filtering for the Trakt Library screen based on the item type (movies vs series/tv).
- Applied Material Theme `FilterChipDefaults` properties to ensure accurate theming.
- Filter out aggressive loading of next pages if a filter other than 'All' is currently selected to avoid consecutive requests for missing data matching conditions.
- Added "All", "Movies", and "Series" FilterChips to the `CatalogHeader`.
- Computed `filteredItems` to apply filtering for the Trakt Library screen based on the item type (movies vs series/tv).
- Applied Material Theme `FilterChipDefaults` properties to ensure accurate theming.
On first launch after upgrading, if the new global key is empty,
fall back to the legacy profile-scoped key from the previous
version. Once found, the value is saved to the global key so
future reads avoid the legacy path.
loadCachedProfiles() sets activeProfileIndex but did not notify
ThemeSettingsRepository to re-read profile-scoped settings (theme,
amoled) from the correct profile key. This ensures theme and other
profile-scoped preferences are loaded from the correct profile
after the cached profile data is applied.
The language preference was stored with a profile-scoped key
(selected_app_language_{profileId}), causing it to reset to English
on app restart when the active profile was not profile 1.
During startup, initialize() reads the key with default
activeProfileId=1 before the correct profile is loaded, resulting
in a cache miss and fallback to English.
App language is a device-level preference, not per-profile, so
the key should not be scoped. This also fixes replaceFromSyncPayload
to correctly clear both profile-scoped and global keys.