Skip to content

Commit 831ff1c

Browse files
committed
feat: enhance pagination and query parameters handling in PodcastsContext and PodcastsHeader
1 parent cb689ba commit 831ff1c

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

src/app/podcasts/PodcastsContext.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
22

3-
import { DTOChannel, QueryParamChannels } from "podverse-helpers";
3+
import { DTOChannel, getTotalPages, QueryParamChannels } from "podverse-helpers";
44
import React, { createContext, useContext, useState, ReactNode } from "react";
55
import { apiRequestService } from "../../factories/apiRequestService";
66
import { useAccount } from "../../contexts/Account";
@@ -48,8 +48,10 @@ export const PodcastsContextProvider = ({ children, initialQueryParams, ssrChann
4848
setShowSubscribeMessage(false);
4949
setIsLoading(true);
5050
const { currentSort, currentRange } = getCurrentSortAndRange({ type: queryParams.type, sort: queryParams.sort, range: queryParams.range });
51-
const channels = await apiRequestService.reqChannelGetMany({ ...queryParams, sort: currentSort, range: currentRange });
52-
setChannels(channels.data);
51+
const response = await apiRequestService.reqChannelGetMany({ ...queryParams, sort: currentSort, range: currentRange });
52+
const totalPages = getTotalPages(response.meta.count, response.meta.limit);
53+
setTotalPages(totalPages);
54+
setChannels(response.data);
5355
setIsLoading(false);
5456
}
5557
fetchChannels();

src/app/podcasts/PodcastsHeader.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ const PodcastsHeader: React.FC = () => {
4444
onChange={value => {
4545
if (isChannelType(value)) {
4646
if (value === "all" || value === "category") {
47-
setQueryParams({ ...queryParams, type: value, sort: "top" });
47+
setQueryParams({ ...queryParams, type: value, sort: "top", page: 1 });
4848
} else {
49-
setQueryParams({ ...queryParams, type: value, sort: "alphabetical" });
49+
setQueryParams({ ...queryParams, type: value, sort: "alphabetical", page: 1 });
5050
}
5151
}
5252
}}

src/components/Pagination/Pagination.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,6 @@ const Pagination: React.FC<PaginationProps> = ({
4545
children,
4646
maxButtons = 5,
4747
}) => {
48-
if (React.Children.count(children) === 0) {
49-
return null;
50-
}
51-
5248
const pageNumbers = getPageRange(currentPage, totalPages, maxButtons);
5349

5450
const handlePageChange = (page: number) => {

0 commit comments

Comments
 (0)