diff --git a/src/all/nhentai/build.gradle b/src/all/nhentai/build.gradle index 733ff3e8c..78bc4d6dc 100644 --- a/src/all/nhentai/build.gradle +++ b/src/all/nhentai/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'NHentai' pkgNameSuffix = 'all.nhentai' extClass = '.NHFactory' - extVersionCode = 34 + extVersionCode = 35 isNsfw = true } diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt index 520dfe192..5a00b5530 100644 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt @@ -84,7 +84,7 @@ open class NHentai( override fun latestUpdatesRequest(page: Int) = GET(if (nhLang.isBlank()) "$baseUrl/?page=$page" else "$baseUrl/language/$nhLang/?page=$page", headers) - override fun latestUpdatesSelector() = "#content .index-container:not(.index-popular) .gallery" + override fun latestUpdatesSelector() = "#content .container:not(.index-popular) .gallery" override fun latestUpdatesFromElement(element: Element) = SManga.create().apply { setUrlWithoutDomain(element.select("a").attr("href")) @@ -130,17 +130,19 @@ open class NHentai( val advQuery = combineQuery(filterList) val favoriteFilter = filterList.findInstance() val isOkayToSort = filterList.findInstance()?.state?.isBlank() ?: true + val offsetPage = + filterList.findInstance()?.state?.toIntOrNull()?.plus(page) ?: page if (favoriteFilter?.state == true) { val url = "$baseUrl/favorites".toHttpUrlOrNull()!!.newBuilder() .addQueryParameter("q", "$fixedQuery $advQuery") - .addQueryParameter("page", page.toString()) + .addQueryParameter("page", offsetPage.toString()) return GET(url.toString(), headers) } else { val url = "$baseUrl/search".toHttpUrlOrNull()!!.newBuilder() .addQueryParameter("q", "$fixedQuery $nhLangSearch$advQuery") - .addQueryParameter("page", page.toString()) + .addQueryParameter("page", offsetPage.toString()) if (isOkayToSort) { filterList.findInstance()?.let { f -> @@ -262,6 +264,7 @@ open class NHentai( Filter.Separator(), SortFilter(), + OffsetPageFilter(), Filter.Header("Sort is ignored if favorites only"), FavoriteFilter() ) @@ -276,6 +279,8 @@ open class NHentai( class PagesFilter : AdvSearchEntryFilter("Pages") open class AdvSearchEntryFilter(name: String) : Filter.Text(name) + class OffsetPageFilter : Filter.Text("Offset results by # pages") + override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Not used") private class FavoriteFilter : Filter.CheckBox("Show favorites only", false)