Skip to content

Commit

Permalink
fixed total count, introduced total pages
Browse files Browse the repository at this point in the history
  • Loading branch information
kkatusic committed Jul 30, 2024
1 parent aa89980 commit 78a9454
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/components/views/projects/ProjectsIndex.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ const ProjectsIndex = (props: IProjectsView) => {
const [isNotFound, setIsNotFound] = useState(false);
const [filteredProjects, setFilteredProjects] =
useState<IProject[]>(projects);
const [totalCount, setTotalCount] = useState(_totalCount);
const [totalPages, setTotalPages] = useState(
Math.ceil(_totalCount / projects.length),
);
const isMobile = useMediaQuery(`(max-width: ${deviceSize.tablet - 1}px)`);

const dispatch = useAppDispatch();
Expand Down Expand Up @@ -119,7 +121,8 @@ const ProjectsIndex = (props: IProjectsView) => {

const data = res.data?.allProjects?.projects;
const count = res.data?.allProjects?.totalCount;
setTotalCount(count);
const totalPages = Math.ceil(count / projects.length);
setTotalPages(totalPages);

setFilteredProjects(prevProjects => [
...prevProjects,
Expand Down Expand Up @@ -163,8 +166,10 @@ const ProjectsIndex = (props: IProjectsView) => {

// Function that triggers when you scroll down - infinite loading
const loadMore = useCallback(() => {
fetchNextPage();
}, [fetchNextPage]);
if (totalPages > (data?.pages?.length || 0)) {
fetchNextPage();
}
}, [data?.pages.length, fetchNextPage, totalPages]);

const handleCreateButton = () => {
if (isUserRegistered(user)) {
Expand Down Expand Up @@ -281,7 +286,7 @@ const ProjectsIndex = (props: IProjectsView) => {
)}
{onProjectsPageOrActiveQFPage && (
<SortingContainer>
<SortContainer totalCount={totalCount} />
<SortContainer totalCount={_totalCount} />
</SortingContainer>
)}
{isFetchingNextPage && <Loader className='dot-flashing' />}
Expand Down Expand Up @@ -320,12 +325,12 @@ const ProjectsIndex = (props: IProjectsView) => {
) : (
<ProjectsNoResults />
)}
{totalCount > filteredProjects?.length && (
{_totalCount > filteredProjects?.length && (
<div ref={lastElementRef} />
)}
{!isFetching &&
!isFetchingNextPage &&
totalCount < filteredProjects?.length && (
totalPages > (data?.pages?.length || 0) && (
<>
<StyledButton
onClick={loadMore}
Expand All @@ -344,7 +349,6 @@ const ProjectsIndex = (props: IProjectsView) => {
)
}
/>
{totalCount} - {filteredProjects?.length}
<StyledButton
onClick={handleCreateButton}
label={formatMessage({
Expand Down

0 comments on commit 78a9454

Please sign in to comment.