mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-20 19:12:04 +00:00
Merge two identical providers
Merge `isLongPressedMangaStateProvider` and `isLongPressedStateProvider` Both providers do the same thing and it is impossible to change the value of the provider in different places in the app at the same time. So just use one `isLongPressedStateProvider`. Reduces code duplication and there is no confusion about which one to use.
This commit is contained in:
parent
c2bae6d17b
commit
69df87ff0e
7 changed files with 22 additions and 46 deletions
|
|
@ -18,6 +18,7 @@ import 'package:mangayomi/models/settings.dart';
|
|||
import 'package:mangayomi/models/update.dart';
|
||||
import 'package:mangayomi/modules/library/providers/add_torrent.dart';
|
||||
import 'package:mangayomi/modules/library/providers/local_archive.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/update_manga_detail_providers.dart';
|
||||
import 'package:mangayomi/modules/more/categories/providers/isar_providers.dart';
|
||||
import 'package:mangayomi/modules/more/settings/appearance/providers/theme_mode_state_provider.dart';
|
||||
|
|
@ -560,7 +561,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||
final mangaIds = ref.watch(mangasListStateProvider);
|
||||
final color = Theme.of(context).textTheme.bodyLarge!.color!;
|
||||
return BottomSelectBar(
|
||||
isVisible: ref.watch(isLongPressedMangaStateProvider),
|
||||
isVisible: ref.watch(isLongPressedStateProvider),
|
||||
actions: [
|
||||
BottomSelectButton(
|
||||
icon: Icon(Icons.label_outline_rounded, color: color),
|
||||
|
|
@ -1133,7 +1134,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||
|
||||
ref.read(mangasListStateProvider.notifier).clear();
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(false);
|
||||
if (mounted) {
|
||||
Navigator.pop(context);
|
||||
|
|
@ -1786,7 +1787,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||
int? categoryId,
|
||||
Settings settings,
|
||||
) {
|
||||
final isLongPressed = ref.watch(isLongPressedMangaStateProvider);
|
||||
final isLongPressed = ref.watch(isLongPressedStateProvider);
|
||||
final mangaIdsList = ref.watch(mangasListStateProvider);
|
||||
final manga = categoryId == null
|
||||
? ref.watch(
|
||||
|
|
@ -1815,7 +1816,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||
ref.read(mangasListStateProvider.notifier).clear();
|
||||
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(!isLongPressed);
|
||||
},
|
||||
icon: const Icon(Icons.clear),
|
||||
|
|
@ -1840,7 +1841,7 @@ class _LibraryScreenState extends ConsumerState<LibraryScreen>
|
|||
.selectSome(manga);
|
||||
}
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(false);
|
||||
} else {
|
||||
for (var manga in data) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:mangayomi/main.dart';
|
|||
import 'package:mangayomi/models/chapter.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/models/settings.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/manga/reader/providers/reader_controller_provider.dart';
|
||||
import 'package:mangayomi/providers/l10n_providers.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
|
@ -785,7 +786,7 @@ class MangasListState extends _$MangasListState {
|
|||
newList.add(value.id!);
|
||||
}
|
||||
if (newList.isEmpty) {
|
||||
ref.read(isLongPressedMangaStateProvider.notifier).update(false);
|
||||
ref.read(isLongPressedStateProvider.notifier).update(false);
|
||||
}
|
||||
state = newList;
|
||||
}
|
||||
|
|
@ -814,18 +815,6 @@ class MangasListState extends _$MangasListState {
|
|||
}
|
||||
}
|
||||
|
||||
@riverpod
|
||||
class IsLongPressedMangaState extends _$IsLongPressedMangaState {
|
||||
@override
|
||||
bool build() {
|
||||
return false;
|
||||
}
|
||||
|
||||
void update(bool value) {
|
||||
state = value;
|
||||
}
|
||||
}
|
||||
|
||||
@riverpod
|
||||
class MangasSetIsReadState extends _$MangasSetIsReadState {
|
||||
@override
|
||||
|
|
@ -855,7 +844,7 @@ class MangasSetIsReadState extends _$MangasSetIsReadState {
|
|||
isar.mangas.putAllSync(allMangas);
|
||||
});
|
||||
|
||||
ref.read(isLongPressedMangaStateProvider.notifier).update(false);
|
||||
ref.read(isLongPressedStateProvider.notifier).update(false);
|
||||
ref.read(mangasListStateProvider.notifier).clear();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2517,7 +2517,7 @@ class _SortLibraryMangaStateProviderElement
|
|||
Settings get settings => (origin as SortLibraryMangaStateProvider).settings;
|
||||
}
|
||||
|
||||
String _$mangasListStateHash() => r'ad1cc419dfd3793bfc8c90f3ce8b7726561dd9ad';
|
||||
String _$mangasListStateHash() => r'bbd2e3600ec22a774b1774ae3c221815e52bfef6';
|
||||
|
||||
/// See also [MangasListState].
|
||||
@ProviderFor(MangasListState)
|
||||
|
|
@ -2533,25 +2533,8 @@ final mangasListStateProvider =
|
|||
);
|
||||
|
||||
typedef _$MangasListState = AutoDisposeNotifier<List<int>>;
|
||||
String _$isLongPressedMangaStateHash() =>
|
||||
r'f77076b0335e92df26a75ea0c338d4214a330184';
|
||||
|
||||
/// See also [IsLongPressedMangaState].
|
||||
@ProviderFor(IsLongPressedMangaState)
|
||||
final isLongPressedMangaStateProvider =
|
||||
AutoDisposeNotifierProvider<IsLongPressedMangaState, bool>.internal(
|
||||
IsLongPressedMangaState.new,
|
||||
name: r'isLongPressedMangaStateProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$isLongPressedMangaStateHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$IsLongPressedMangaState = AutoDisposeNotifier<bool>;
|
||||
String _$mangasSetIsReadStateHash() =>
|
||||
r'0bc11e49fd33d7c76e86b005e6d30d7ac39bb5e2';
|
||||
r'2a1b1005e2ed5068d36188a3fb969d21b64bfef6';
|
||||
|
||||
abstract class _$MangasSetIsReadState
|
||||
extends BuildlessAutoDisposeNotifier<void> {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:mangayomi/models/history.dart';
|
|||
import 'package:mangayomi/modules/library/providers/isar_providers.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||
import 'package:mangayomi/utils/constant.dart';
|
||||
|
|
@ -52,7 +53,7 @@ class _LibraryGridViewWidgetState extends State<LibraryGridViewWidget> {
|
|||
Widget build(BuildContext context) {
|
||||
return Consumer(
|
||||
builder: (context, ref, child) {
|
||||
final isLongPressed = ref.watch(isLongPressedMangaStateProvider);
|
||||
final isLongPressed = ref.watch(isLongPressedStateProvider);
|
||||
final itemType = widget.itemType;
|
||||
|
||||
final gridSize = ref.watch(
|
||||
|
|
@ -430,7 +431,7 @@ class _LibraryGridViewWidgetState extends State<LibraryGridViewWidget> {
|
|||
) {
|
||||
if (!isLongPressed) {
|
||||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
ref.read(isLongPressedMangaStateProvider.notifier).update(!isLongPressed);
|
||||
ref.read(isLongPressedStateProvider.notifier).update(!isLongPressed);
|
||||
} else {
|
||||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:mangayomi/models/history.dart';
|
|||
import 'package:mangayomi/modules/library/providers/isar_providers.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||
import 'package:mangayomi/utils/constant.dart';
|
||||
|
|
@ -44,7 +45,7 @@ class LibraryListViewWidget extends StatelessWidget {
|
|||
bool isLocalArchive = entry.isLocalArchive ?? false;
|
||||
return Consumer(
|
||||
builder: (context, ref, child) {
|
||||
final isLongPressed = ref.watch(isLongPressedMangaStateProvider);
|
||||
final isLongPressed = ref.watch(isLongPressedStateProvider);
|
||||
return Material(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
color: Colors.transparent,
|
||||
|
|
@ -80,7 +81,7 @@ class LibraryListViewWidget extends StatelessWidget {
|
|||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(!isLongPressed);
|
||||
} else {
|
||||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
|
|
@ -91,7 +92,7 @@ class LibraryListViewWidget extends StatelessWidget {
|
|||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(!isLongPressed);
|
||||
} else {
|
||||
ref.read(mangasListStateProvider.notifier).update(entry);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import 'package:mangayomi/router/router.dart';
|
|||
import 'package:mangayomi/services/fetch_sources_list.dart';
|
||||
import 'package:mangayomi/services/sync_server.dart';
|
||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/more/providers/incognito_mode_state_provider.dart';
|
||||
|
||||
final libLocationRegex = RegExp(r"^/(Manga|Anime|Novel)Library$");
|
||||
|
|
@ -239,7 +239,7 @@ class _MainScreenState extends ConsumerState<MainScreen> {
|
|||
}
|
||||
|
||||
final incognitoMode = ref.watch(incognitoModeStateProvider);
|
||||
final isLongPressed = ref.watch(isLongPressedMangaStateProvider);
|
||||
final isLongPressed = ref.watch(isLongPressedStateProvider);
|
||||
|
||||
return Column(
|
||||
children: [
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import 'package:mangayomi/models/category.dart';
|
|||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/modules/library/widgets/list_tile_manga_category.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart';
|
||||
import 'package:mangayomi/modules/manga/detail/widgets/chapter_filter_list_tile_widget.dart';
|
||||
import 'package:mangayomi/providers/l10n_providers.dart';
|
||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||
|
|
@ -151,7 +152,7 @@ void showCategorySelectionDialog({
|
|||
if (isBulk) {
|
||||
ref.read(mangasListStateProvider.notifier).clear();
|
||||
ref
|
||||
.read(isLongPressedMangaStateProvider.notifier)
|
||||
.read(isLongPressedStateProvider.notifier)
|
||||
.update(false);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue