From 10a0b67bf484febcd92a63665b48c866f5d69551 Mon Sep 17 00:00:00 2001
From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
Date: Sat, 10 Aug 2024 17:57:57 +0500
Subject: [PATCH] HentaiWebtoon: fix chapter list & search (#4559)

---
 src/en/hentaiwebtoon/build.gradle             |  2 +-
 .../en/hentaiwebtoon/HentaiWebtoon.kt         | 34 +++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/src/en/hentaiwebtoon/build.gradle b/src/en/hentaiwebtoon/build.gradle
index 559c637c8..1ad06e45c 100644
--- a/src/en/hentaiwebtoon/build.gradle
+++ b/src/en/hentaiwebtoon/build.gradle
@@ -3,7 +3,7 @@ ext {
     extClass = '.HentaiWebtoon'
     themePkg = 'madara'
     baseUrl = 'https://hentaiwebtoon.com'
-    overrideVersionCode = 1
+    overrideVersionCode = 2
     isNsfw = true
 }
 
diff --git a/src/en/hentaiwebtoon/src/eu/kanade/tachiyomi/extension/en/hentaiwebtoon/HentaiWebtoon.kt b/src/en/hentaiwebtoon/src/eu/kanade/tachiyomi/extension/en/hentaiwebtoon/HentaiWebtoon.kt
index 7ce87023a..53185adba 100644
--- a/src/en/hentaiwebtoon/src/eu/kanade/tachiyomi/extension/en/hentaiwebtoon/HentaiWebtoon.kt
+++ b/src/en/hentaiwebtoon/src/eu/kanade/tachiyomi/extension/en/hentaiwebtoon/HentaiWebtoon.kt
@@ -1,9 +1,43 @@
 package eu.kanade.tachiyomi.extension.en.hentaiwebtoon
 
 import eu.kanade.tachiyomi.multisrc.madara.Madara
+import eu.kanade.tachiyomi.network.POST
+import eu.kanade.tachiyomi.source.model.SManga
+import okhttp3.FormBody
+import okhttp3.Request
+import org.jsoup.nodes.Document
+import org.jsoup.nodes.Element
 
 class HentaiWebtoon : Madara("HentaiWebtoon", "https://hentaiwebtoon.com", "en") {
 
     // The website does not flag the content.
     override val filterNonMangaItems = false
+    override val useNewChapterEndpoint = false
+    override val sendViewCount = false
+    override val fetchGenres = false
+    override val useLoadMoreRequest = LoadMoreStrategy.Never
+
+    override fun popularMangaNextPageSelector() = "a.next"
+    override fun searchMangaSelector() = "li.movie-item > a"
+    override fun searchMangaNextPageSelector() = "a.next"
+
+    override fun searchMangaFromElement(element: Element): SManga {
+        return SManga.create().apply {
+            setUrlWithoutDomain(element.absUrl("href"))
+            title = element.attr("title")
+        }
+    }
+
+    override fun oldXhrChaptersRequest(mangaId: String): Request {
+        val form = FormBody.Builder()
+            .add("action", "ajax_chap")
+            .add("post_id", mangaId)
+            .build()
+
+        return POST("$baseUrl/wp-admin/admin-ajax.php", xhrHeaders, form)
+    }
+
+    override fun pageListParse(document: Document) = super.pageListParse(document).onEach {
+        it.imageUrl = it.imageUrl?.replace("http://", "https://")
+    }
 }