fix(totalPages): fixed bug showing wrong totalPages

This commit is contained in:
Ritesh Ghosh
2023-08-06 18:48:44 +05:30
parent 6af8285970
commit 96085a32b1
3 changed files with 13 additions and 28 deletions
+4 -9
View File
@@ -28,7 +28,7 @@ async function scrapeAnimeCategory(
category, category,
currentPage: Number(page), currentPage: Number(page),
hasNextPage: false, hasNextPage: false,
totalPages: 0, totalPages: 1,
}; };
try { try {
@@ -56,7 +56,7 @@ async function scrapeAnimeCategory(
: false; : false;
res.totalPages = res.totalPages =
parseInt( Number(
$('.pagination > .page-item a[title="Last"]') $('.pagination > .page-item a[title="Last"]')
?.attr("href") ?.attr("href")
?.split("=") ?.split("=")
@@ -66,17 +66,12 @@ async function scrapeAnimeCategory(
?.split("=") ?.split("=")
.pop() ?? .pop() ??
$(".pagination > .page-item.active a")?.text()?.trim() $(".pagination > .page-item.active a")?.text()?.trim()
) || 0; ) || 1;
if (res.totalPages === 0 && !res.hasNextPage) {
res.totalPages = 0;
}
res.animes = extractAnimes($, selector); res.animes = extractAnimes($, selector);
if (res.animes.length === 0) { if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0; res.totalPages = 0;
res.hasNextPage = false;
} }
const genreSelector: SelectorType = const genreSelector: SelectorType =
+5 -10
View File
@@ -12,7 +12,7 @@ import {
import createHttpError, { HttpError } from "http-errors"; import createHttpError, { HttpError } from "http-errors";
import { ScrapedGenreAnime } from "../models"; import { ScrapedGenreAnime } from "../models";
// /anime/genre?name=${genreName}&page=${page} // /anime/genre/${name}?page=${page}
async function scrapeGenreAnime( async function scrapeGenreAnime(
genreName: string, genreName: string,
page: number = 1 page: number = 1
@@ -22,7 +22,7 @@ async function scrapeGenreAnime(
animes: [], animes: [],
genres: [], genres: [],
topAiringAnimes: [], topAiringAnimes: [],
totalPages: 0, totalPages: 1,
hasNextPage: false, hasNextPage: false,
currentPage: Number(page), currentPage: Number(page),
}; };
@@ -63,7 +63,7 @@ async function scrapeGenreAnime(
: false; : false;
res.totalPages = res.totalPages =
parseInt( Number(
$('.pagination > .page-item a[title="Last"]') $('.pagination > .page-item a[title="Last"]')
?.attr("href") ?.attr("href")
?.split("=") ?.split("=")
@@ -73,17 +73,12 @@ async function scrapeGenreAnime(
?.split("=") ?.split("=")
.pop() ?? .pop() ??
$(".pagination > .page-item.active a")?.text()?.trim() $(".pagination > .page-item.active a")?.text()?.trim()
) || 0; ) || 1;
if (res.totalPages === 0 && !res.hasNextPage) {
res.totalPages = 0;
}
res.animes = extractAnimes($, selector); res.animes = extractAnimes($, selector);
if (res.animes.length === 0) { if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0; res.totalPages = 0;
res.hasNextPage = false;
} }
const genreSelector: SelectorType = const genreSelector: SelectorType =
+4 -9
View File
@@ -22,7 +22,7 @@ async function scrapeAnimeSearch(
mostPopularAnimes: [], mostPopularAnimes: [],
currentPage: Number(page), currentPage: Number(page),
hasNextPage: false, hasNextPage: false,
totalPages: 0, totalPages: 1,
}; };
try { try {
@@ -52,7 +52,7 @@ async function scrapeAnimeSearch(
: false; : false;
res.totalPages = res.totalPages =
parseInt( Number(
$('.pagination > .page-item a[title="Last"]') $('.pagination > .page-item a[title="Last"]')
?.attr("href") ?.attr("href")
?.split("=") ?.split("=")
@@ -62,17 +62,12 @@ async function scrapeAnimeSearch(
?.split("=") ?.split("=")
.pop() ?? .pop() ??
$(".pagination > .page-item.active a")?.text()?.trim() $(".pagination > .page-item.active a")?.text()?.trim()
) || 0; ) || 1;
if (res.totalPages === 0 && !res.hasNextPage) {
res.totalPages = 0;
}
res.animes = extractAnimes($, selector); res.animes = extractAnimes($, selector);
if (res.animes.length === 0) { if (res.animes.length === 0 && !res.hasNextPage) {
res.totalPages = 0; res.totalPages = 0;
res.hasNextPage = false;
} }
const mostPopularSelector: SelectorType = const mostPopularSelector: SelectorType =