mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-05-17 14:12:44 +00:00
Merge pull request #654 from Schnitzel5/fix/reader-single-pages
fix/reader-single-pages
This commit is contained in:
commit
08f4a4e3e7
4 changed files with 23 additions and 9 deletions
|
|
@ -26,7 +26,12 @@ Future<dynamic> updateMangaDetail(
|
||||||
(manga.chapters.isNotEmpty && isInit)) {
|
(manga.chapters.isNotEmpty && isInit)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final source = getSource(manga.lang!, manga.source!, manga.sourceId);
|
final source = getSource(
|
||||||
|
manga.lang!,
|
||||||
|
manga.source!,
|
||||||
|
manga.sourceId,
|
||||||
|
installedOnly: true,
|
||||||
|
);
|
||||||
MManga getManga;
|
MManga getManga;
|
||||||
|
|
||||||
getManga = await ref.read(
|
getManga = await ref.read(
|
||||||
|
|
|
||||||
|
|
@ -352,10 +352,10 @@ class ReaderController extends _$ReaderController {
|
||||||
final isRead =
|
final isRead =
|
||||||
(getReaderMode() == ReaderMode.verticalContinuous ||
|
(getReaderMode() == ReaderMode.verticalContinuous ||
|
||||||
getReaderMode() == ReaderMode.webtoon)
|
getReaderMode() == ReaderMode.webtoon)
|
||||||
? ((newIndex + 2) == getPageLength([]) - 1)
|
? ((newIndex + 2) >= getPageLength([]) - 1)
|
||||||
? ((newIndex + 2) == getPageLength([]) - 1)
|
? ((newIndex + 2) >= getPageLength([]) - 1)
|
||||||
: (newIndex + 2) == getPageLength([])
|
: (newIndex + 2) >= getPageLength([])
|
||||||
: (newIndex + 2) == getPageLength([]);
|
: (newIndex + 2) >= getPageLength([]);
|
||||||
if (isRead || save) {
|
if (isRead || save) {
|
||||||
List<ChapterPageIndex>? chapterPageIndexs = [];
|
List<ChapterPageIndex>? chapterPageIndexs = [];
|
||||||
for (var chapterPageIndex
|
for (var chapterPageIndex
|
||||||
|
|
|
||||||
|
|
@ -1051,10 +1051,10 @@ class _MangaChapterPageGalleryState
|
||||||
setState(() {
|
setState(() {
|
||||||
_readerController = ref.read(
|
_readerController = ref.read(
|
||||||
readerControllerProvider(
|
readerControllerProvider(
|
||||||
chapter: pages[_currentIndex!].chapter!,
|
chapter: pages[index].chapter!,
|
||||||
).notifier,
|
).notifier,
|
||||||
);
|
);
|
||||||
chapter = pages[_currentIndex!].chapter!;
|
chapter = pages[index].chapter!;
|
||||||
final chapterUrlModel = pages[index].chapterUrlModel;
|
final chapterUrlModel = pages[index].chapterUrlModel;
|
||||||
if (chapterUrlModel != null) {
|
if (chapterUrlModel != null) {
|
||||||
_chapterUrlModel = chapterUrlModel;
|
_chapterUrlModel = chapterUrlModel;
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,18 @@ import 'package:isar_community/isar.dart';
|
||||||
import 'package:mangayomi/main.dart';
|
import 'package:mangayomi/main.dart';
|
||||||
import 'package:mangayomi/models/source.dart';
|
import 'package:mangayomi/models/source.dart';
|
||||||
|
|
||||||
Source? getSource(String lang, String name, int? sourceId) {
|
Source? getSource(
|
||||||
|
String lang,
|
||||||
|
String name,
|
||||||
|
int? sourceId, {
|
||||||
|
bool installedOnly = false,
|
||||||
|
}) {
|
||||||
try {
|
try {
|
||||||
final sourcesList = isar.sources.filter().idIsNotNull().findAllSync();
|
var sourcesFilter = isar.sources.filter().idIsNotNull();
|
||||||
|
if (installedOnly) {
|
||||||
|
sourcesFilter = sourcesFilter.isActiveEqualTo(true).isAddedEqualTo(true);
|
||||||
|
}
|
||||||
|
final sourcesList = sourcesFilter.findAllSync();
|
||||||
return sourcesList.firstWhere(
|
return sourcesList.firstWhere(
|
||||||
(element) => sourceId != null
|
(element) => sourceId != null
|
||||||
? element.id == sourceId && element.sourceCode != null
|
? element.id == sourceId && element.sourceCode != null
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue