From 285dfedeaa7798c0d4f37ad91a0ac2748635766e Mon Sep 17 00:00:00 2001 From: rockyeverlast Date: Mon, 6 May 2024 12:55:34 +0530 Subject: [PATCH] Working on News content pagination error --- src/Redux/slice/newsSlice.js | 2 +- src/components/NewsPage/NewsContent.jsx | 36 ++++++++++++++++++------- src/routes/_routes.jsx | 25 +++++++++++++++++ 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/Redux/slice/newsSlice.js b/src/Redux/slice/newsSlice.js index b813cd7..52abd35 100644 --- a/src/Redux/slice/newsSlice.js +++ b/src/Redux/slice/newsSlice.js @@ -5,7 +5,7 @@ export const newsApi = createApi({ baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }), endpoints: (builder) => ({ getNews: builder.query({ - query: () => 'admin/news', + query: ({ page, pageSize }) => `admin/news?page=${page}&pageSize=${pageSize}`, }), }), }); diff --git a/src/components/NewsPage/NewsContent.jsx b/src/components/NewsPage/NewsContent.jsx index d18d65e..5c52479 100644 --- a/src/components/NewsPage/NewsContent.jsx +++ b/src/components/NewsPage/NewsContent.jsx @@ -76,9 +76,32 @@ const contents = [ ]; const NewsContent = () => { - const { data } = useGetNewsQuery(); - const [currentPage, setCurrentPage] = useState(data?.data?.currentPage ?? 1); + const [currentPage, setCurrentPage] = useState(1); + const pageSize = 5; + + const { data, isLoading, error } = useGetNewsQuery({ + page: currentPage, + pageSize, + }); + + console.log(data?.data); + + if (isLoading) { + return ( +
+ +
+ ); + } + + if (error) { + return
Error: {error.message}
; + } + + const totalItems = data?.data?.totalItems; + const totalPages = data?.data?.totalPages; const newsCard = data?.data?.rows; + console.log(data?.data?.totalPages); if (!newsCard) { @@ -89,12 +112,6 @@ const NewsContent = () => { ); } - const totalItems = data?.data?.totalItems; - - const pageSize = 5; - - const totalPages = data?.data?.totalPages ?? 1; - function displayCurrentPageItems() { const startIndex = (currentPage - 1) * pageSize; const endIndex = Math.min(startIndex + pageSize, totalItems); @@ -111,6 +128,7 @@ const NewsContent = () => { } const currentPageItems = displayCurrentPageItems(); + console.log(currentPageItems); return ( <> @@ -136,7 +154,7 @@ const NewsContent = () => { }, }} > - {currentPageItems?.map((content) => ( + {newsCard?.map((content) => ( <> , }, + { + path: "video-page", + element: , + }, + { + path: "ecosystem", + element: , + }, + { + path: "events", + element: , + }, + { + path: "news", + element: , + }, + { + path: "events-internal", + element: , + }, { path: "*", element: ,