This commit is contained in:
Vikas 2026-01-09 12:38:01 +01:00 committed by GitHub
commit e6134a0e03
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 30 additions and 40 deletions

View file

@ -84,16 +84,16 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
_fullDataLength = _fullDataLength + 50;
} else {
if (_selectedIndex == 0 && !_isSearch && _query.isEmpty) {
mangaRes = await ref.watch(
mangaRes = await ref.read(
getPopularProvider(source: source, page: _page + 1).future,
);
} else if (_selectedIndex == 1 && !_isSearch && _query.isEmpty) {
mangaRes = await ref.watch(
mangaRes = await ref.read(
getLatestUpdatesProvider(source: source, page: _page + 1).future,
);
} else if (_selectedIndex == 2 && (_isSearch && _query.isNotEmpty) ||
_isFiltering) {
mangaRes = await ref.watch(
mangaRes = await ref.read(
searchProvider(
source: source,
query: _query,
@ -709,12 +709,9 @@ class MangaHomeImageCard extends ConsumerStatefulWidget {
ConsumerState<MangaHomeImageCard> createState() => _MangaHomeImageCardState();
}
class _MangaHomeImageCardState extends ConsumerState<MangaHomeImageCard>
with AutomaticKeepAliveClientMixin<MangaHomeImageCard> {
class _MangaHomeImageCardState extends ConsumerState<MangaHomeImageCard> {
@override
Widget build(BuildContext context) {
super.build(context);
return MangaImageCardWidget(
getMangaDetail: widget.manga,
source: widget.source,
@ -722,9 +719,6 @@ class _MangaHomeImageCardState extends ConsumerState<MangaHomeImageCard>
isComfortableGrid: widget.isComfortableGrid,
);
}
@override
bool get wantKeepAlive => true;
}
class MangaHomeImageCardListTile extends ConsumerStatefulWidget {
@ -744,19 +738,13 @@ class MangaHomeImageCardListTile extends ConsumerStatefulWidget {
}
class _MangaHomeImageCardListTileState
extends ConsumerState<MangaHomeImageCardListTile>
with AutomaticKeepAliveClientMixin<MangaHomeImageCardListTile> {
extends ConsumerState<MangaHomeImageCardListTile> {
@override
Widget build(BuildContext context) {
super.build(context);
return MangaImageCardListTileWidget(
getMangaDetail: widget.manga,
source: widget.source,
itemType: widget.itemType,
);
}
@override
bool get wantKeepAlive => true;
}

View file

@ -362,14 +362,14 @@ Future<void> pushToMangaReaderDetail({
.sourceEqualTo(manga.source)
.isEmptySync();
if (empty) {
isar.writeTxnSync(() {
isar.mangas.putSync(
await isar.writeTxn(() async {
await isar.mangas.put(
manga..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
} else {
isar.writeTxnSync(() {
isar.mangas.putSync(manga);
await isar.writeTxn(() async {
await isar.mangas.put(manga);
});
}
@ -391,8 +391,8 @@ Future<void> pushToMangaReaderDetail({
final mang = isar.mangas.getSync(mangaId);
if (mang!.sourceId == null && !(mang.isLocalArchive ?? false)) {
isar.writeTxnSync(() {
isar.mangas.putSync(mang..sourceId = sourceId);
await isar.writeTxn(() async {
await isar.mangas.put(mang..sourceId = sourceId);
});
}
final settings = isar.settings.getSync(227)!;
@ -401,7 +401,7 @@ Future<void> pushToMangaReaderDetail({
.where((element) => element.mangaId == mangaId)
.toList();
if (checkIfExist.isEmpty) {
isar.writeTxnSync(() {
await isar.writeTxn(() async {
List<SortChapter>? sortChapterList = [];
for (var sortChapter in settings.sortChapterList ?? []) {
sortChapterList.add(sortChapter);
@ -426,7 +426,7 @@ Future<void> pushToMangaReaderDetail({
ChapterFilterDownloaded()..mangaId = mangaId,
);
chapterFilterUnreadList.add(ChapterFilterUnread()..mangaId = mangaId);
isar.settings.putSync(
await isar.settings.put(
settings
..sortChapterList = sortChapterList
..chapterFilterBookmarkedList = chapterFilterBookmarkedList
@ -437,22 +437,24 @@ Future<void> pushToMangaReaderDetail({
});
}
if (!addToFavourite) {
if (useMaterialRoute) {
await Navigator.push(
context,
createRoute(page: MangaReaderDetail(mangaId: mangaId)),
);
if (context.mounted) {
if (useMaterialRoute) {
await Navigator.push(
context,
createRoute(page: MangaReaderDetail(mangaId: mangaId)),
);
} else {
await context.push('/manga-reader/detail', extra: mangaId);
}
} else {
await context.push('/manga-reader/detail', extra: mangaId);
final getManga = isar.mangas.filter().idEqualTo(mangaId).findFirstSync()!;
await isar.writeTxn(() async {
await isar.mangas.put(
getManga
..favorite = !getManga.favorite!
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
} else {
final getManga = isar.mangas.filter().idEqualTo(mangaId).findFirstSync()!;
isar.writeTxnSync(() {
isar.mangas.putSync(
getManga
..favorite = !getManga.favorite!
..updatedAt = DateTime.now().millisecondsSinceEpoch,
);
});
}
}