feat(next-page-loading): disable load more button when length of fetched page is less than 25 on all pages

This commit is contained in:
Kentai Radiquum 2024-04-29 03:45:27 +05:00
parent f84c923ab7
commit 85302f0607
Signed by: Radiquum
GPG key ID: 858E8EE696525EED
5 changed files with 58 additions and 13 deletions

View file

@ -21,6 +21,7 @@ export default function Search() {
const [releases, setReleases] = useState();
const [page, setPage] = useState(0);
const [query, setQuery] = useState("");
const [isNextPage, setIsNextPage] = useState(true);
const [searches, setSearches] = useState(JSON.parse(getSearches()));
@ -39,6 +40,12 @@ export default function Search() {
const url = `${endpoints.search}?query=${query}&page=${page}`;
const data = await getData(url);
if (data.content.length < 25) {
setIsNextPage(false);
} else {
setIsNextPage(true);
}
// Handle initial load (page 0) or subsequent pagination
if (page === 0) {
setReleases(data.content);
@ -118,7 +125,12 @@ export default function Search() {
{releases ? (
releases.length > 0 ? (
<ReleasesOverview page={page} setPage={setPage} releases={releases} />
<ReleasesOverview
page={page}
setPage={setPage}
releases={releases}
isNextPage={isNextPage}
/>
) : (
<div className="absolute padding primary center middle small-round">
<i className="extra">search</i>