From dff5a2440b1c1586c8fd1fc21ffef3b5a1b7d8e3 Mon Sep 17 00:00:00 2001 From: DattatreyaReddy Panta <58727124+DattatreyaReddy@users.noreply.github.com> Date: Tue, 4 Jul 2023 15:07:42 +0530 Subject: [PATCH] added reader swipe toggle and hide nav bar in reader (#202) --- android/build.gradle | 2 +- lib/src/constants/db_keys.dart | 1 + .../presentation/reader/reader_screen.dart | 8 ++ .../reader/widgets/reader_wrapper.dart | 25 +++- .../controller/quick_search_controller.dart | 8 +- .../controller/quick_search_controller.g.dart | 2 +- .../reader/reader_settings_screen.dart | 2 + .../reader_swipe_chapter_toggle_tile.dart | 42 +++++++ .../reader_swipe_chapter_toggle_tile.g.dart | 26 ++++ lib/src/l10n/app_en.arb | 8 ++ lib/src/routes/router_config.g.dart | 41 +++++++ .../custom_extensions/context_extensions.dart | 2 +- lib/src/widgets/shell/shell_screen.dart | 10 +- macos/Podfile.lock | 2 +- pubspec.lock | 116 ++++++++---------- pubspec.yaml | 2 +- 16 files changed, 214 insertions(+), 83 deletions(-) create mode 100644 lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart create mode 100644 lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.g.dart diff --git a/android/build.gradle b/android/build.gradle index 8ac4d8ed..9bc02fa3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/lib/src/constants/db_keys.dart b/lib/src/constants/db_keys.dart index d2f327d2..67511c14 100644 --- a/lib/src/constants/db_keys.dart +++ b/lib/src/constants/db_keys.dart @@ -23,6 +23,7 @@ enum DBKeys { readerMagnifierSize(1.0), readerNavigationLayout(ReaderNavigationLayout.disabled), invertTap(false), + swipeToggle(true), scrollAnimation(true), showNSFW(true), downloadedBadge(true), diff --git a/lib/src/features/manga_book/presentation/reader/reader_screen.dart b/lib/src/features/manga_book/presentation/reader/reader_screen.dart index 9604dbc6..ed0ba5ed 100644 --- a/lib/src/features/manga_book/presentation/reader/reader_screen.dart +++ b/lib/src/features/manga_book/presentation/reader/reader_screen.dart @@ -7,6 +7,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; @@ -30,6 +31,13 @@ class ReaderScreen extends HookConsumerWidget { final int chapterIndex; @override Widget build(BuildContext context, WidgetRef ref) { + useEffect(() { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); + return () => SystemChrome.setEnabledSystemUIMode( + SystemUiMode.manual, + overlays: SystemUiOverlay.values, + ); + }, []); final mangaProvider = useMemoized(() => mangaWithIdProvider(mangaId: mangaId), []); final chapterProviderWithIndex = useMemoized( diff --git a/lib/src/features/manga_book/presentation/reader/widgets/reader_wrapper.dart b/lib/src/features/manga_book/presentation/reader/widgets/reader_wrapper.dart index 90281569..75d16d97 100644 --- a/lib/src/features/manga_book/presentation/reader/widgets/reader_wrapper.dart +++ b/lib/src/features/manga_book/presentation/reader/widgets/reader_wrapper.dart @@ -22,6 +22,7 @@ import '../../../../../utils/misc/toast/toast.dart'; import '../../../../../widgets/radio_list_popup.dart'; import '../../../../settings/presentation/reader/widgets/reader_magnifier_size_slider/reader_magnifier_size_slider.dart'; import '../../../../settings/presentation/reader/widgets/reader_padding_slider/reader_padding_slider.dart'; +import '../../../../settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart'; import '../../../data/manga_book_repository.dart'; import '../../../domain/chapter/chapter_model.dart'; import '../../../domain/chapter_patch/chapter_put_model.dart'; @@ -73,8 +74,18 @@ class ReaderWrapper extends HookConsumerWidget { ); final visibility = useState(true); + useEffect(() { + if (!visibility.value) { + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); + } + return null; + }, [visibility.value]); + final double localMangaReaderPadding = ref.watch(readerPaddingKeyProvider) ?? DBKeys.readerPadding.initial; + + final bool readerSwipeChapterToggle = + ref.watch(swipeChapterToggleProvider) ?? DBKeys.swipeToggle.initial; final mangaReaderPadding = useState(manga.meta?.readerPadding ?? localMangaReaderPadding); @@ -430,6 +441,7 @@ class ReaderWrapper extends HookConsumerWidget { onPrevious: onPrevious, mangaReaderNavigationLayout: mangaReaderNavigationLayout, prevNextChapterPair: prevNextChapterPair, + readerSwipeChapterToggle: readerSwipeChapterToggle, child: child, ), ), @@ -448,22 +460,24 @@ class ReaderView extends HookWidget { required this.scrollDirection, required this.mangaReaderPadding, required this.mangaReaderMagnifierSize, - required this.child, required this.onNext, required this.onPrevious, required this.prevNextChapterPair, required this.mangaReaderNavigationLayout, + required this.readerSwipeChapterToggle, + required this.child, }); final VoidCallback toggleVisibility; final Axis scrollDirection; final double mangaReaderPadding; final double mangaReaderMagnifierSize; - final Widget child; final VoidCallback onNext; final VoidCallback onPrevious; final ({Chapter? first, Chapter? second})? prevNextChapterPair; final ReaderNavigationLayout mangaReaderNavigationLayout; + final bool readerSwipeChapterToggle; + final Widget child; @override Widget build(BuildContext context) { @@ -487,7 +501,7 @@ class ReaderView extends HookWidget { chapterIndex: prevNextChapterPair!.second!.index!, toPrev: true, transVertical: scrollDirection != Axis.vertical, - ) + ).pushReplacement(context) : null; return Stack( children: [ @@ -505,7 +519,7 @@ class ReaderView extends HookWidget { onTap: toggleVisibility, behavior: HitTestBehavior.translucent, onHorizontalDragEnd: (details) { - if (scrollDirection == Axis.vertical) { + if (scrollDirection == Axis.vertical && readerSwipeChapterToggle) { if (details.primaryVelocity == null) { return; } else if (details.primaryVelocity! > 8) { @@ -516,7 +530,8 @@ class ReaderView extends HookWidget { } }, onVerticalDragEnd: (details) { - if (scrollDirection == Axis.horizontal) { + if (scrollDirection == Axis.horizontal && + readerSwipeChapterToggle) { if (details.primaryVelocity == null) { return; } else if (details.primaryVelocity! > 8) { diff --git a/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.dart b/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.dart index f6fa3fac..916b9d4e 100644 --- a/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.dart +++ b/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.dart @@ -38,7 +38,7 @@ List? processesQuickSearch( // Source Search if (query.startsWith('@') || - (context.location?.contains(Routes.browse)).ifNull()) { + (context.location.contains(Routes.browse)).ifNull()) { String sourceQuery = query.startsWith('@') ? query.substring(1) : query; final queryList = sourceQuery.split('/'); final sourceList = @@ -121,13 +121,13 @@ List? processesQuickSearch( // Manga Search if (query.startsWith('#') || - (context.location?.contains(Routes.library)).ifNull()) { + (context.location.contains(Routes.library)).ifNull()) { return mangaSearch(query); } // Manga Description context aware Search - if ((context.location?.startsWith(Routes.mangaRoute)).ifNull()) { - final id = int.tryParse(context.location! + if ((context.location.startsWith(Routes.mangaRoute)).ifNull()) { + final id = int.tryParse(context.location .substring(Routes.mangaRoute.length) .split('/') .firstOrNull diff --git a/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.g.dart b/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.g.dart index ee4939aa..d3102107 100644 --- a/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.g.dart +++ b/lib/src/features/quick_open/presentation/quick_search/controller/quick_search_controller.g.dart @@ -7,7 +7,7 @@ part of 'quick_search_controller.dart'; // ************************************************************************** String _$processesQuickSearchHash() => - r'5a5c9fdc63bece1f1a98eaf3c5b761d842a5da52'; + r'd0671247c128a4484ee5aed3c70f0267ea2a9baa'; /// Copied from Dart SDK class _SystemHash { diff --git a/lib/src/features/settings/presentation/reader/reader_settings_screen.dart b/lib/src/features/settings/presentation/reader/reader_settings_screen.dart index ada456f3..246e37ff 100644 --- a/lib/src/features/settings/presentation/reader/reader_settings_screen.dart +++ b/lib/src/features/settings/presentation/reader/reader_settings_screen.dart @@ -13,6 +13,7 @@ import 'widgets/reader_mode_tile/reader_mode_tile.dart'; import 'widgets/reader_navigation_layout_tile/reader_navigation_layout_tile.dart'; import 'widgets/reader_padding_slider/reader_padding_slider.dart'; import 'widgets/reader_scroll_animation_tile/reader_scroll_animation_tile.dart'; +import 'widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart'; class ReaderSettingsScreen extends StatelessWidget { const ReaderSettingsScreen({super.key}); @@ -26,6 +27,7 @@ class ReaderSettingsScreen extends StatelessWidget { ReaderModeTile(), ReaderNavigationLayoutTile(), ReaderInvertTapTile(), + SwipeChapterToggleTile(), ReaderScrollAnimationTile(), ReaderPaddingSlider(), ReaderMagnifierSizeSlider(), diff --git a/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart b/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart new file mode 100644 index 00000000..265d7019 --- /dev/null +++ b/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.dart @@ -0,0 +1,42 @@ +// Copyright (c) 2022 Contributors to the Suwayomi project +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:riverpod_annotation/riverpod_annotation.dart'; + +import '../../../../../../constants/db_keys.dart'; + +import '../../../../../../utils/extensions/custom_extensions.dart'; +import '../../../../../../utils/mixin/shared_preferences_client_mixin.dart'; + +part 'reader_swipe_chapter_toggle_tile.g.dart'; + +@riverpod +class SwipeChapterToggle extends _$SwipeChapterToggle + with SharedPreferenceClientMixin { + @override + bool? build() => initialize( + ref, + key: DBKeys.swipeToggle.name, + initial: DBKeys.swipeToggle.initial, + ); +} + +class SwipeChapterToggleTile extends HookConsumerWidget { + const SwipeChapterToggleTile({super.key}); + @override + Widget build(BuildContext context, WidgetRef ref) { + return SwitchListTile( + controlAffinity: ListTileControlAffinity.trailing, + secondary: const Icon(Icons.swipe_rounded), + title: Text(context.l10n!.readerSwipeChapterToggle), + subtitle: Text(context.l10n!.readerSwipeChapterToggleDescription), + onChanged: ref.read(swipeChapterToggleProvider.notifier).update, + value: ref.watch(swipeChapterToggleProvider).ifNull(), + ); + } +} diff --git a/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.g.dart b/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.g.dart new file mode 100644 index 00000000..28ac89a8 --- /dev/null +++ b/lib/src/features/settings/presentation/reader/widgets/reader_swipe_toggle_tile/reader_swipe_chapter_toggle_tile.g.dart @@ -0,0 +1,26 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'reader_swipe_chapter_toggle_tile.dart'; + +// ************************************************************************** +// RiverpodGenerator +// ************************************************************************** + +String _$swipeChapterToggleHash() => + r'5434750ad1b77a70b2b3647d8f0eeb69bb681003'; + +/// See also [SwipeChapterToggle]. +@ProviderFor(SwipeChapterToggle) +final swipeChapterToggleProvider = + AutoDisposeNotifierProvider.internal( + SwipeChapterToggle.new, + name: r'swipeChapterToggleProvider', + debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') + ? null + : _$swipeChapterToggleHash, + dependencies: null, + allTransitiveDependencies: null, +); + +typedef _$SwipeChapterToggle = AutoDisposeNotifier; +// ignore_for_file: unnecessary_raw_strings, subtype_of_sealed_class, invalid_use_of_internal_member, do_not_use_environment, prefer_const_constructors, public_member_api_docs, avoid_private_typedef_functions diff --git a/lib/src/l10n/app_en.arb b/lib/src/l10n/app_en.arb index 18b6052b..a928a77c 100644 --- a/lib/src/l10n/app_en.arb +++ b/lib/src/l10n/app_en.arb @@ -475,6 +475,12 @@ "@readerScrollAnimation": { "description": "Switch title to Disable scroll animation in reader screen" }, + "@readerSwipeChapterToggle": { + "description": "Switch title to toggle `swipe to change chapter` in reader screen" + }, + "@readerSwipeChapterToggleDescription": { + "description": "Switch tile description for, toggle `swipe to change chapter` in reader screen" + }, "@readerNavigationLayoutKindlish": { "description": "Radio button text for Reader Navigation Layout - Kindle-ish" }, @@ -790,6 +796,8 @@ "readerNavigationLayoutEdge": "Edge", "readerNavigationLayoutInvert": "Invert tapping", "readerScrollAnimation": "Scroll animation", + "readerSwipeChapterToggle": "Swipe toggle", + "readerSwipeChapterToggleDescription": "Swipe to change chapter in reader", "readerNavigationLayoutKindlish": "Kindle-ish", "readerNavigationLayoutLShaped": "L Shaped", "readerNavigationLayoutRightAndLeft": "Right And Left", diff --git a/lib/src/routes/router_config.g.dart b/lib/src/routes/router_config.g.dart index 839a4128..0d2eddc6 100644 --- a/lib/src/routes/router_config.g.dart +++ b/lib/src/routes/router_config.g.dart @@ -143,6 +143,8 @@ extension $HomeRouteExtension on HomeRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $LibraryRouteExtension on LibraryRoute { @@ -165,6 +167,8 @@ extension $LibraryRouteExtension on LibraryRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $UpdatesRouteExtension on UpdatesRoute { @@ -180,6 +184,8 @@ extension $UpdatesRouteExtension on UpdatesRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $BrowseRouteExtension on BrowseRoute { @@ -195,6 +201,8 @@ extension $BrowseRouteExtension on BrowseRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $DownloadsRouteExtension on DownloadsRoute { @@ -211,6 +219,8 @@ extension $DownloadsRouteExtension on DownloadsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $MoreRouteExtension on MoreRoute { @@ -226,6 +236,8 @@ extension $MoreRouteExtension on MoreRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $MangaRouteExtension on MangaRoute { @@ -248,6 +260,8 @@ extension $MangaRouteExtension on MangaRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $GlobalSearchRouteExtension on GlobalSearchRoute { @@ -268,6 +282,8 @@ extension $GlobalSearchRouteExtension on GlobalSearchRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $SourceMangaRouteExtension on SourceMangaRoute { @@ -293,6 +309,9 @@ extension $SourceMangaRouteExtension on SourceMangaRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location, extra: $extra); + + void replace(BuildContext context) => + context.replace(location, extra: $extra); } extension $AboutRouteExtension on AboutRoute { @@ -308,6 +327,8 @@ extension $AboutRouteExtension on AboutRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $ReaderRouteExtension on ReaderRoute { @@ -335,6 +356,8 @@ extension $ReaderRouteExtension on ReaderRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $SettingsRouteExtension on SettingsRoute { @@ -350,6 +373,8 @@ extension $SettingsRouteExtension on SettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $LibrarySettingsRouteExtension on LibrarySettingsRoute { @@ -366,6 +391,8 @@ extension $LibrarySettingsRouteExtension on LibrarySettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $EditCategoriesRouteExtension on EditCategoriesRoute { @@ -382,6 +409,8 @@ extension $EditCategoriesRouteExtension on EditCategoriesRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $ServerSettingsRouteExtension on ServerSettingsRoute { @@ -398,6 +427,8 @@ extension $ServerSettingsRouteExtension on ServerSettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $ReaderSettingsRouteExtension on ReaderSettingsRoute { @@ -414,6 +445,8 @@ extension $ReaderSettingsRouteExtension on ReaderSettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $AppearanceSettingsRouteExtension on AppearanceSettingsRoute { @@ -430,6 +463,8 @@ extension $AppearanceSettingsRouteExtension on AppearanceSettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $GeneralSettingsRouteExtension on GeneralSettingsRoute { @@ -446,6 +481,8 @@ extension $GeneralSettingsRouteExtension on GeneralSettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $BrowseSettingsRouteExtension on BrowseSettingsRoute { @@ -462,6 +499,8 @@ extension $BrowseSettingsRouteExtension on BrowseSettingsRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } extension $BackupRouteExtension on BackupRoute { @@ -477,6 +516,8 @@ extension $BackupRouteExtension on BackupRoute { void pushReplacement(BuildContext context) => context.pushReplacement(location); + + void replace(BuildContext context) => context.replace(location); } const _$SourceTypeEnumMap = { diff --git a/lib/src/utils/extensions/custom_extensions/context_extensions.dart b/lib/src/utils/extensions/custom_extensions/context_extensions.dart index 03abc3d7..b313fdab 100644 --- a/lib/src/utils/extensions/custom_extensions/context_extensions.dart +++ b/lib/src/utils/extensions/custom_extensions/context_extensions.dart @@ -9,7 +9,7 @@ part of '../custom_extensions.dart'; /// Helper class for device related operations. /// extension ContextExtensions on BuildContext { - String? get location => GoRouter.maybeOf(this)?.location; + String get location => GoRouterState.of(this).location; /// /// hides the keyboard if its already open diff --git a/lib/src/widgets/shell/shell_screen.dart b/lib/src/widgets/shell/shell_screen.dart index f7b1592a..8c97574c 100644 --- a/lib/src/widgets/shell/shell_screen.dart +++ b/lib/src/widgets/shell/shell_screen.dart @@ -7,7 +7,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:pub_semver/pub_semver.dart'; @@ -68,9 +67,7 @@ class ShellScreen extends HookConsumerWidget { ? Scaffold( body: Row( children: [ - BigScreenNavigationBar( - selectedScreen: GoRouter.of(context).location, - ), + BigScreenNavigationBar(selectedScreen: context.location), Expanded(child: child), ], ), @@ -79,9 +76,8 @@ class ShellScreen extends HookConsumerWidget { body: child, floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat, - bottomNavigationBar: SmallScreenNavigationBar( - selectedScreen: GoRouter.of(context).location, - ), + bottomNavigationBar: + SmallScreenNavigationBar(selectedScreen: context.location), ); } } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 3a9b22f3..46e7c0d6 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -54,7 +54,7 @@ SPEC CHECKSUMS: network_info_plus: f4fbc7877ab7b3294500d9441dfa53cd54972d05 package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8 - shared_preferences_foundation: e2dae3258e06f44cc55f49d42024fd8dd03c590c + shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 sqflite: a5789cceda41d54d23f31d6de539d65bb14100ea url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451 diff --git a/pubspec.lock b/pubspec.lock index 0a33b4ac..beb18a43 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: build - sha256: "43865b79fbb78532e4bff7c33087aa43b1d488c4fdef014eaef568af6d8016dc" + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" build_config: dependency: transitive description: @@ -85,18 +85,18 @@ packages: dependency: transitive description: name: build_resolvers - sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95 + sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.1" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "5e1929ad37d48bd382b124266cb8e521de5548d406a45a5ae6656c13dab73e37" + sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" url: "https://pub.dev" source: hosted - version: "2.4.5" + version: "2.4.6" build_runner_core: dependency: transitive description: @@ -261,10 +261,10 @@ packages: dependency: transitive description: name: dart_style - sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad + sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" dartx: dependency: transitive description: @@ -362,10 +362,10 @@ packages: dependency: "direct main" description: name: flutter_cache_manager - sha256: "32cd900555219333326a2d0653aaaf8671264c29befa65bbd9856d204a4c9fb3" + sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" flutter_gen_core: dependency: transitive description: @@ -402,10 +402,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" flutter_localizations: dependency: "direct main" description: flutter @@ -457,10 +457,10 @@ packages: dependency: "direct main" description: name: font_awesome_flutter - sha256: "959ef4add147753f990b4a7c6cccb746d5792dbdc81b1cde99e62e7edb31b206" + sha256: "5fb789145cae1f4c3245c58b3f8fb287d055c26323879eab57a7bf0cfd1e45f3" url: "https://pub.dev" source: hosted - version: "10.4.0" + version: "10.5.0" freezed: dependency: "direct dev" description: @@ -497,18 +497,18 @@ packages: dependency: "direct main" description: name: go_router - sha256: da08429b5c1026cc78bd60c60bfff34f0b273b29feddeab00d3f5b56fb6f35ed + sha256: "1531542666c2d052c44bbf6e2b48011bf3771da0404b94c60eabec1228a62906" url: "https://pub.dev" source: hosted - version: "8.0.5" + version: "9.0.0" go_router_builder: dependency: "direct dev" description: name: go_router_builder - sha256: c7db6ba9c2397851a9dce63cc2cd98659315e48b41da5bcf5e7dcf061e80c64c + sha256: dbd5028908e5e1409ffc3da02257a489f6ac1caa509a0e03f126b1c2e451bb65 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.2.0" graphs: dependency: transitive description: @@ -545,10 +545,10 @@ packages: dependency: transitive description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.1.0" http_multi_server: dependency: transitive description: @@ -617,10 +617,10 @@ packages: dependency: "direct dev" description: name: json_serializable - sha256: "61a60716544392a82726dd0fa1dd6f5f1fd32aec66422b6e229e7b90d52325c4" + sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969 url: "https://pub.dev" source: hosted - version: "6.7.0" + version: "6.7.1" lints: dependency: "direct dev" description: @@ -789,54 +789,46 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.0" - pedantic: - dependency: transitive - description: - name: pedantic - sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" - url: "https://pub.dev" - source: hosted - version: "1.11.1" permission_handler: dependency: "direct main" description: name: permission_handler - sha256: "1b6b3e73f0bcbc856548bbdfb1c33084a401c4f143e220629a9055233d76c331" + sha256: "37fcc3c3182ac0bf8856f3e973e11c7bef5556d69f1a0d8fb908f51019c2912d" url: "https://pub.dev" source: hosted - version: "10.3.0" + version: "10.4.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "8f6a95ccbca13766882f95d32684d7c9bfe6c45650c32bedba948ef1c6a4ddf7" + sha256: "3b61f3da3b1c83bc3fb6a2b431e8dab01d0e5b45f6a3d9c7609770ec88b2a89e" url: "https://pub.dev" source: hosted - version: "10.2.3" + version: "10.3.0" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: "08dcb6ce628ac0b257e429944b4c652c2a4e6af725bdf12b498daa2c6b2b1edb" + sha256: "0d1f8007b17573ff1fbeae0f04b6c8e83e1d2f6c4fe8e8226d4d2456aa8ecffe" url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.2" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: de20a5c3269229c1ae2e5a6b822f6cb59578b23e8255c93fbeebfc82116e6b11 + sha256: "79b36d93a41a4aecfd0d635d77552f327cb84227c718ce5e68b5f7b85546fe7e" url: "https://pub.dev" source: hosted - version: "3.10.0" + version: "3.11.0+1" permission_handler_windows: dependency: transitive description: name: permission_handler_windows - sha256: f67cab14b4328574938ecea2db3475dad7af7ead6afab6338772c5f88963e38b + sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 url: "https://pub.dev" source: hosted - version: "0.1.2" + version: "0.1.3" petitparser: dependency: transitive description: @@ -961,58 +953,58 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "396f85b8afc6865182610c0a2fc470853d56499f75f7499e2a73a9f0539d23d0" + sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.2.0" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "6478c6bbbecfe9aced34c483171e90d7c078f5883558b30ec3163cf18402c749" + sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: e014107bb79d6d3297196f4f2d0db54b5d1f85b8ea8ff63b8e8b391a02700feb + sha256: "0dc5c49ad8a05ed358b991b60c7b0ba1a14e16dae58af9b420d6b9e82dc024ab" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.0" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9d387433ca65717bbf1be88f4d5bb18f10508917a8fa2fb02e0fd0d7479a9afa" + sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d + sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "74083203a8eae241e0de4a0d597dbedab3b8fef5563f33cf3c12d7e93c655ca5" + sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "5e588e2efef56916a3b229c3bfe81e6a525665a454519ca51dbcc4236a274173" + sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" shelf: dependency: transitive description: @@ -1046,18 +1038,18 @@ packages: dependency: transitive description: name: source_gen - sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33" + sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" source_helper: dependency: transitive description: name: source_helper - sha256: "3b67aade1d52416149c633ba1bb36df44d97c6b51830c2198e934e3fca87ca1f" + sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" url: "https://pub.dev" source: hosted - version: "1.3.3" + version: "1.3.4" source_span: dependency: transitive description: @@ -1190,10 +1182,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: eed4e6a1164aa9794409325c3b707ff424d4d1c2a785e7db67f8bbda00e36e51 + sha256: "15f5acbf0dce90146a0f5a2c4a002b1814a6303c4c5c075aa2623b2d16156f03" url: "https://pub.dev" source: hosted - version: "6.0.35" + version: "6.0.36" url_launcher_ios: dependency: transitive description: @@ -1278,10 +1270,10 @@ packages: dependency: transitive description: name: win32 - sha256: "7dacfda1edcca378031db9905ad7d7bd56b29fd1a90b0908b71a52a12c41e36b" + sha256: dfdf0136e0aa7a1b474ea133e67cb0154a0acd2599c4f3ada3b49d38d38793ee url: "https://pub.dev" source: hosted - version: "5.0.3" + version: "5.0.5" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 53477533..ce8cb8cd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -24,7 +24,7 @@ dependencies: fluttertoast: ^8.1.1 font_awesome_flutter: ^10.2.1 freezed_annotation: ^2.2.0 - go_router: ^8.0.3 + go_router: ^9.0.0 hooks_riverpod: ^2.1.1 infinite_scroll_pagination: ^3.2.0 intl: ^0.18.0