Commit graph

12 commits

Author SHA1 Message Date
CrissZollo
76e49706d4 Reduce focus scaling on cards to prevent overflow
- Settings items: Disable scaling (1.0f) to prevent overflow
- TMDB toggle cards: Disable scaling (1.0f)
- Theme cards: Reduce from 1.05f to 1.02f
- Content cards: Reduce from 1.05f to 1.02f
- Continue watching cards: Reduce from 1.05f to 1.02f
- Episode cards: Reduce from 1.05f to 1.02f
2026-02-02 21:06:43 +01:00
CrissZollo
2ece9e544a Apply theme colors to navigation drawer items
Update NavigationDrawerItem to use theme-aware colors for selected,
focused, and pressed states so the side menu follows the selected theme.
2026-02-02 20:57:37 +01:00
CrissZollo
c82d94c71e Implement theme selection system with 6 color themes
Add settings screen for users to choose between Crimson, Ocean, Violet,
Emerald, Amber, and Rose themes. Each theme customizes accent colors
(focus states, buttons) and includes subtle background tinting for a
cohesive visual experience. Theme selection persists via DataStore.
2026-02-02 20:50:43 +01:00
CrissZollo
30cf0b20b9 Fix Switch toggle colors to use teal accent
- Update TmdbSettingsScreen Switch to use teal for checked state
- Update PluginScreen global enable Switch to use teal
- Update PluginScreen scraper toggle Switch to use teal
- Add checkedTrackColor to TmdbSettingsScreen for consistency
- Update "Enabled" text color to match teal theme

Now all toggle switches show visible teal color when ON,
matching the FilterChip and overall teal accent theme.
2026-02-02 00:03:57 +01:00
CrissZollo
74989b3de3 Implement focus restoration for ContentCards in HomeScreen
- Add FocusRequester support to ContentCard component
- Track focused row and item indices in HomeScreen
- Add focus restoration logic to CatalogRowSection
- Wire up focus callbacks to update state on focus changes
- Handle edge cases: item not composed, item no longer exists

Completes focus restoration feature started in f5ead7c7. When
returning from MetaDetailsScreen, focus now restores to the exact
ContentCard that was clicked, not just scroll position.
2026-02-01 23:56:11 +01:00
CrissZollo
95ee3d1350 Fix FilterChip selected state to use teal accent color
- Change selectedContainerColor from gray to teal with 30% alpha
- Change selectedContentColor from gray to teal
- Maintain existing bright teal focus border
- Improves visual distinction between selected/unselected states
2026-02-01 23:53:54 +01:00
CrissZollo
dbf45f982f Add error logging for watch progress data corruption
- Added Android Log error logging in parseProgressMap() catch block
- Logs exceptions when JSON parsing fails to help diagnose data issues
- Prevents silent data loss without notification
- Uses "WatchProgressPrefs" tag for easy filtering in logcat

This will help identify and diagnose watch progress data corruption
issues that were previously failing silently.
2026-02-01 23:29:12 +01:00
CrissZollo
a2cc1c0b69 Fix blocking operations in addon repository
- Replaced blocking map() with flatMapLatest() and flow builder
- Moved network operations to IO dispatcher using flowOn()
- Changed from imperative loop to functional mapNotNull()
- Prevents UI freezing when fetching multiple addons
- Improves responsiveness by running network calls on IO threads

This ensures that addon fetching doesn't block the main thread and
improves performance when loading multiple addons concurrently.
2026-02-01 23:28:35 +01:00
CrissZollo
a5c6dbaa7c Fix potential memory leak in PluginViewModel flow collectors
- Replaced three separate flow collectors with a single combined flow
- Prevents potential race conditions and reduces coroutine overhead
- Uses combine() to merge pluginsEnabled, repositories, and scrapers flows
- Single collector updates UI state atomically for all three values

This ensures that flow collection is more efficient and reduces the risk
of memory leaks from multiple concurrent collectors.
2026-02-01 23:27:55 +01:00
CrissZollo
f5ead7c729 Fix focus restoration when navigating back to home screen
- Created HomeScreenFocusState data class to store scroll and focus state
- Added focus state management to HomeViewModel
- Implemented scroll position saving in HomeScreen using DisposableEffect
- Implemented scroll position restoration using LaunchedEffect
- Added horizontal scroll restoration support to CatalogRowSection
- Fixes issue where users lost their place when returning from detail screen

This ensures that when users navigate from HomeScreen -> MetaDetailsScreen
and back, their vertical scroll position and horizontal scroll positions in
catalog rows are properly restored.
2026-02-01 23:27:12 +01:00
CrissZollo
e7ff9185fe Update focus colors to bright teal for better visibility
- Changed FocusRing from subtle grey (#BDBDBD) to bright teal (#00E5CC)
- Changed FocusBackground from dark grey (#2B2B2B) to dark teal (#1A3D38)
- Changed BorderFocused to match FocusRing for consistency
- Improves focus clarity on Android TV with high contrast colors
2026-02-01 23:25:10 +01:00
tapframe
d9c0381439 Initial commit: NuvioTV as clean branch 2026-02-01 19:56:04 +05:30