that only contains (repeated chapter title)
+ $('p:has(strong)').first().remove();
+
+ // Merge broken paragraphs (translated from the site's own JS fix)
+ const paragraphs = $('p').toArray();
+ for (let i = 0; i < paragraphs.length - 1; i++) {
+ const current = paragraphs[i];
+ const next = paragraphs[i + 1];
+
+ if ($(current).next()[0] !== next) continue;
+
+ const text = $(current).text().trim();
+ if (!text) continue;
+
+ // If it ends like a complete sentence, keep separate
+ if (/[.!?…]["'"']?$/.test(text)) continue;
+
+ $(current).append(' ');
+ $(current).append($(next).contents());
+ $(next).remove();
+ paragraphs.splice(i + 1, 1);
+ i--;
+ }
+
+ return $.html();
+ }
+
+ // ── searchNovels ────────────────────────────────────────────────────────────
+
+ async searchNovels(
+ searchTerm: string,
+ pageNo: number,
+ ): Promise