diff --git a/.fvmrc b/.fvmrc index 4efffa7..262e5e8 100644 --- a/.fvmrc +++ b/.fvmrc @@ -1,3 +1,3 @@ { - "flutter": "3.22.1" + "flutter": "3.24.0" } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 26a7a6d..bb6ddcb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "cSpell.words": [ "Jellyfin" ], - "dart.flutterSdkPath": ".fvm/versions/3.22.1", + "dart.flutterSdkPath": ".fvm/versions/3.24.0", "search.exclude": { "**/.fvm": true }, diff --git a/lib/screens/book_viewer/book_viewer_screen.dart b/lib/screens/book_viewer/book_viewer_screen.dart index 4d9a2a0..a0e0b8f 100644 --- a/lib/screens/book_viewer/book_viewer_screen.dart +++ b/lib/screens/book_viewer/book_viewer_screen.dart @@ -78,7 +78,7 @@ class _BookViewerScreenState extends ConsumerState { data: ThemesData.of(context).dark, child: PopScope( canPop: true, - onPopInvoked: (didPop) async { + onPopInvokedWithResult: (didPop, result) async { await ref.read(bookViewerProvider.notifier).stopPlayback(); }, child: Scaffold( diff --git a/lib/screens/library_search/library_search_screen.dart b/lib/screens/library_search/library_search_screen.dart index ea64112..9d3b0c0 100644 --- a/lib/screens/library_search/library_search_screen.dart +++ b/lib/screens/library_search/library_search_screen.dart @@ -131,7 +131,7 @@ class _LibrarySearchScreenState extends ConsumerState { return PopScope( canPop: !librarySearchResults.selecteMode, - onPopInvoked: (popped) async { + onPopInvokedWithResult: (didPop, result) { if (librarySearchResults.selecteMode) { libraryProvider.toggleSelectMode(); } diff --git a/lib/screens/login/lock_screen.dart b/lib/screens/login/lock_screen.dart index 29aee34..1356b7f 100644 --- a/lib/screens/login/lock_screen.dart +++ b/lib/screens/login/lock_screen.dart @@ -99,7 +99,7 @@ class _LockScreenState extends ConsumerState with WidgetsBindingObse final user = ref.watch(userProvider); return PopScope( canPop: false, - onPopInvoked: (didPop) { + onPopInvokedWithResult: (didPop, result) { if (!poppingLockScreen) { SystemNavigator.pop(); } diff --git a/lib/screens/photo_viewer/photo_viewer_controls.dart b/lib/screens/photo_viewer/photo_viewer_controls.dart index a14bfd0..a0aacb0 100644 --- a/lib/screens/photo_viewer/photo_viewer_controls.dart +++ b/lib/screens/photo_viewer/photo_viewer_controls.dart @@ -115,7 +115,7 @@ class _PhotoViewerControllsState extends ConsumerState with final padding = MediaQuery.of(context).padding; return PopScope( - onPopInvoked: (popped) async { + onPopInvokedWithResult: (didPop, result) async { await WakelockPlus.disable(); }, child: KeyboardListener( diff --git a/lib/screens/photo_viewer/photo_viewer_screen.dart b/lib/screens/photo_viewer/photo_viewer_screen.dart index 6b39b7a..8a6d784 100644 --- a/lib/screens/photo_viewer/photo_viewer_screen.dart +++ b/lib/screens/photo_viewer/photo_viewer_screen.dart @@ -143,7 +143,8 @@ class _PhotoViewerScreenState extends ConsumerState with Widg return Theme( data: ThemesData.of(context).dark, child: PopScope( - onPopInvoked: (popped) async => SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge, overlays: []), + onPopInvokedWithResult: (didPop, result) => + SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge, overlays: []), child: MouseRegion( opaque: AdaptiveLayout.of(context).isDesktop, onEnter: (event) => setState(() => _showOverlay(show: true)), diff --git a/lib/screens/shared/detail_scaffold.dart b/lib/screens/shared/detail_scaffold.dart index 59b9aaf..172a0e9 100644 --- a/lib/screens/shared/detail_scaffold.dart +++ b/lib/screens/shared/detail_scaffold.dart @@ -1,5 +1,4 @@ import 'package:ficonsax/ficonsax.dart'; -import 'package:fladder/screens/shared/animated_fade_size.dart'; import 'package:fladder/util/localization_helper.dart'; import 'package:fladder/widgets/navigation_scaffold/components/settings_user_icon.dart'; import 'package:flutter/material.dart'; @@ -75,7 +74,7 @@ class _DetailScreenState extends ConsumerState { offset: const Offset(0, -5), child: FladderImage(image: widget.item?.getPosters?.primary)), ), ), - AnimatedFadeSize( + AnimatedSwitcher( duration: const Duration(seconds: 1), child: currentWidget, ) diff --git a/lib/screens/video_player/video_player_controls.dart b/lib/screens/video_player/video_player_controls.dart index 12dd8b8..d123576 100644 --- a/lib/screens/video_player/video_player_controls.dart +++ b/lib/screens/video_player/video_player_controls.dart @@ -81,7 +81,7 @@ class _DesktopControlsState extends ConsumerState { }, child: PopScope( canPop: false, - onPopInvoked: (didPop) { + onPopInvokedWithResult: (didPop, result) { if (!didPop) { closePlayer(); } diff --git a/lib/widgets/navigation_scaffold/navigation_scaffold.dart b/lib/widgets/navigation_scaffold/navigation_scaffold.dart index de74826..b5226ce 100644 --- a/lib/widgets/navigation_scaffold/navigation_scaffold.dart +++ b/lib/widgets/navigation_scaffold/navigation_scaffold.dart @@ -52,7 +52,7 @@ class _NavigationScaffoldState extends ConsumerState { final views = ref.watch(viewsProvider.select((value) => value.views)); return PopScope( canPop: currentIndex == 0, - onPopInvoked: (didPop) { + onPopInvokedWithResult: (didPop, result) { if (currentIndex != 0) { widget.destinations.first.action!(); } diff --git a/pubspec.lock b/pubspec.lock index 47c9b00..9635337 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -937,18 +937,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -1033,10 +1033,10 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" media_kit: dependency: "direct main" description: @@ -1113,10 +1113,10 @@ packages: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: @@ -1782,10 +1782,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" timing: dependency: transitive description: @@ -2014,10 +2014,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.4" volume_controller: dependency: transitive description: