Commit Graph
55 Commits
Author SHA1 Message Date
edde746 3da51f9d64 chore: pre-commit ci hook, dart format 2026-04-18 12:40:35 +02:00
edde746 e0308be8bb fix: mounted check in _toggleLibraryVisibility 2026-04-15 11:04:16 +02:00
edde746 2126a38f39 fix: bounds-safe action bar focus node access 2026-04-13 22:00:36 +02:00
edde746 cd3db94b5d fix: guard library dropdown against empty list 2026-04-12 10:14:43 +02:00
edde746 b3cf4ebf12 fix: await hidden libraries init before loading content 2026-04-06 16:19:23 +02:00
edde746 3a82119c2a fix: library action confirmation and snackbar feedback 2026-03-31 10:37:10 +02:00
edde746 e6ea1b056a fix: overlay sheet builder context popping main route
close #779
2026-03-31 10:30:25 +02:00
edde746 04ef1b8ad2 fix: guard against missing library in libraries screen
Use firstOrNull instead of firstWhere to prevent StateError crash
when selected library is temporarily absent from provider during
server re-probe after LOW_MEMORY events.
2026-03-16 02:45:01 +01:00
edde746 db6161d84e refactor: replace numeric tab indexes with NavigationTabId 2026-03-15 22:31:54 +01:00
edde746 551be5bbef feat: dynamic library tabs and shared library navigation
- Replace hardcoded 4-tab system with data-driven visible tab list
- Shared libraries show only Browse + Playlists tabs
- Fix dpad navigation for shared libraries (no hidden tab targets)
- Switch to TickerProviderStateMixin to support tab controller recreation
- Navigate to library screen when tapping shared library sections
- Persist tab selection by name instead of index
2026-03-15 21:36:17 +01:00
edde746 59b3e6ce81 fix: eliminate duplicate API requests on startup
- Skip redundant notifyListeners in HiddenLibrariesProvider init when
  set is empty (empty→empty is a no-op for consumers)
- Track last-seen hidden keys in DiscoverScreen to avoid reloading
  content when the listener fires without an actual change
- Track previous online server set in MultiServerProvider; only re-check
  DVR availability when a new server comes online
- Remove dead content-loading pipeline from libraries_screen (sorts,
  pagination, filters, items) that was never rendered
- Move /media/providers fetch into PlexClient.create() init, replacing
  lazy EPG cache and providing libraries including shared items
2026-03-15 18:23:32 +01:00
edde746 e84dc93910 fix: prevent tab revert and overflow bleed on mobile tab switch
Skip auto-focus in touch mode to prevent ensureVisible() from fighting
TabBarView animations, and clip each tab with ClipRect to stop hub row
overflow bleeding into adjacent tabs during swipe transitions.
2026-03-13 00:09:24 +01:00
edde746 73fe9e054f fix: guard unsafe .first/.last calls to prevent StateError 2026-03-10 03:50:12 +01:00
edde746 7f03c15779 fix: restore FocusTheme import in libraries screen 2026-02-27 12:53:21 +01:00
edde746 cc30bee83a refactor: extract FocusableActionBar widget for reusable app bar actions
Replace duplicated focusable action button pattern across 8 screens with
a shared FocusableActionBar widget that handles focus nodes, D-pad
navigation, back key, and focus decoration automatically.
2026-02-27 11:55:19 +01:00
edde746 728c4854a5 feat: sparse-map pagination for library browse 2026-02-25 18:14:48 +01:00
edde746 78049c981b fix: black screen when closing manage libraries sheet 2026-02-24 11:05:55 +01:00
edde746 a599920ab4 fix: overlay sheet theme and scope on mobile 2026-02-23 13:00:42 +01:00
edde746 edbe2a06be refactor: deduplicate sheet, key handler, and service patterns 2026-02-23 10:25:57 +01:00
edde746 7f8d4c7946 fix: dpad focus for dialogs and buttons 2026-02-22 14:50:59 +01:00
edde746 9e7c66f66a refactor: migrate bottom sheets to overlay system 2026-02-19 00:18:35 +01:00
edde746 04438c8e45 refactor: code quality & format 2026-02-15 04:07:09 +01:00
edde746 fd615c237d fix: persist library browse filters across library switches 2026-02-13 17:52:31 +01:00
edde746 5c225bb89e feat: alpha jump bar
close #349
2026-02-05 10:15:59 +01:00
edde746 a7ac681fdc refactor: extract shared mixins and helpers 2026-02-04 11:11:01 +01:00
edde746 cf3d81ebf5 chore: format 2026-02-04 07:50:38 +01:00
edde746 ef386b4357 fix: manage libraries misc 2026-02-01 23:45:49 +01:00
edde746 3733f52bcf fix: manage libraries focus 2026-01-31 20:11:48 +01:00
edde746 9176003717 fix: consistent focus background on library screen
close #352
2026-01-31 12:44:06 +01:00
edde746 a3b5dfecfb refactor: clean up 2026-01-28 05:22:56 +01:00
edde746 e88d9e0390 fix: dpad nav to libraries action buttons
close #335
2026-01-26 02:01:23 +01:00
edde746 9d37443e4e feat: open sidenav with left 2026-01-25 01:43:10 +01:00
edde746 0fc2708a51 fix: back improvements 2026-01-24 21:40:02 +01:00
edde746 b7ec24c2c1 refactor: centralize library state in LibrariesProvider 2026-01-24 20:03:06 +01:00
edde746 99f3e78a30 fix: library initial focus 2026-01-24 03:26:24 +01:00
edde746 ec57cd436e fix: browse library chips focus 2026-01-24 03:26:24 +01:00
edde746 d755485c98 feat: library sidenav animation 2026-01-23 23:01:11 +01:00
edde746 b5726fe4b7 chore: format 2026-01-20 13:46:44 +01:00
dwk001 91b11a5137 fix: Localize 'Manage Libraries' dialog title
Use t.libraries.manageLibraries translation key instead of hardcoded English string.
2026-01-18 15:14:42 -05:00
dwk001 ca9b6a9ecd Fix: Android TV-only Manage Libraries dialog with focus scroll support
- Use Dialog + Scaffold for TV to improve library visibility and keyboard navigation
- Added _ensureFocusedVisible() to scroll focused library into view on D-pad movement
- Maintained DraggableScrollableSheet for non-TV platforms (unchanged behavior)
- Only affects Android TV; Windows/desktop/mobile use original modal bottomsheet
- Preserves all existing functionality (reordering, visibility toggle, options menu)
2026-01-18 14:21:37 -05:00
edde746 4db60bc7c2 fix: tab switching race conditions and trackpad swipe 2026-01-11 16:06:20 +01:00
edde746 3c89d0eba8 refactor: update formatting 2025-12-15 02:29:03 +01:00
edde746 fb17600bb0 refactor: consolidate 2025-12-15 01:16:22 +01:00
edde746 a2a5a5ae55 refactor: simplify & deduplicate 2025-12-14 21:03:11 +01:00
edde746 5f78bbe93a refactor: deduplicate 2025-12-14 20:18:36 +01:00
edde746 867992e96b refactor: fix warnings 2025-12-13 15:37:55 +01:00
edde746 18c322f66a refactor: navigation/offline handling
and other improvments
2025-12-13 00:16:50 +01:00
edde746 11461eefe5 refactor: format 2025-12-12 17:05:26 +01:00
edde746 263eddbdba refactor: new icons 2025-12-12 15:57:22 +01:00
edde746 12969eeff9 feat: gamepad support
tested with dualsense on macOS, close #25
2025-12-07 19:32:33 +01:00