diff --git a/src/Redux/slice/whitePaperSlice.js b/src/Redux/slice/whitePaperSlice.js new file mode 100644 index 0000000..34d3b44 --- /dev/null +++ b/src/Redux/slice/whitePaperSlice.js @@ -0,0 +1,13 @@ +import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; + +export const whitePaper = createApi({ + reducerPath: 'resources-page', + baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }), + endpoints: (builder) => ({ + getWhitePaper: builder.query({ + query: ({ page, pageSize }) => `admin/whitepaper?page=${page}&pageSize=${pageSize}`, + }), + }), +}); + +export const { useGetWhitePaperQuery } = whitePaper; \ No newline at end of file diff --git a/src/Redux/store/store.js b/src/Redux/store/store.js index c6f4082..e3389d2 100644 --- a/src/Redux/store/store.js +++ b/src/Redux/store/store.js @@ -6,6 +6,7 @@ import { newsApi } from '../slice/newsSlice'; import { resourcesApi } from '../slice/resources'; import { videoTableApi } from '../slice/videoTable'; import { newsLetterApi } from '../slice/newsLetter'; +import { whitePaper } from '../slice/whitePaperSlice'; const store = configureStore({ reducer: { @@ -16,6 +17,7 @@ const store = configureStore({ [resourcesApi.reducerPath]: resourcesApi.reducer, [videoTableApi.reducerPath]: videoTableApi.reducer, [newsLetterApi.reducerPath]: newsLetterApi.reducer, + [whitePaper.reducerPath]: whitePaper.reducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat( @@ -26,6 +28,7 @@ const store = configureStore({ resourcesApi.middleware, videoTableApi.middleware, newsLetterApi.middleware, + whitePaper.middleware, ), // Add blogApi.middleware here }); diff --git a/src/components/NewsPage/NewsContent.jsx b/src/components/NewsPage/NewsContent.jsx index 5c52479..0977c90 100644 --- a/src/components/NewsPage/NewsContent.jsx +++ b/src/components/NewsPage/NewsContent.jsx @@ -112,24 +112,12 @@ const NewsContent = () => { ); } - function displayCurrentPageItems() { - const startIndex = (currentPage - 1) * pageSize; - const endIndex = Math.min(startIndex + pageSize, totalItems); - - const currentPageItems = newsCard.slice(startIndex, endIndex); - return currentPageItems; - } - function goToPage(page) { if (page >= 1 && page <= totalPages) { setCurrentPage(page); - displayCurrentPageItems(); } } - const currentPageItems = displayCurrentPageItems(); - console.log(currentPageItems); - return ( <> { - // const [currentPage, setCurrentPage] = useState(1); - // const pageSize = 5; - // const { data } = useGetResourcesQuery({ page: currentPage, pageSize }); - // console.log(data); + const [currentPage, setCurrentPage] = useState(1); + const pageSize = 5; + + const { data, isLoading, error } = useGetWhitePaperQuery({ + page: currentPage, + pageSize, + }); + + if (isLoading) { + return ( +
+ +
+ ); + } + + if (error) { + return
Error: {error.message}
; + } + + const docs = data?.data?.data?.rows; + const totalPages = data?.data?.totalPages; + // console.log(docs); + + function goToPage(page) { + if (page >= 1 && page <= totalPages) { + setCurrentPage(page); + } + } + return ( - - - - - - The Proofchain Technical Whitepaper - + + {docs?.map((item) => ( + - - - - + {item.title} + + + + + + + + - + ))} ); }; diff --git a/src/components/ResourcesPage/tableContent/VideoTable.jsx b/src/components/ResourcesPage/tableContent/VideoTable.jsx index 6246799..7280827 100644 --- a/src/components/ResourcesPage/tableContent/VideoTable.jsx +++ b/src/components/ResourcesPage/tableContent/VideoTable.jsx @@ -83,31 +83,17 @@ const VideoTable = () => { return
Error: {error.message}
; } - const videos = data?.data?.data?.rows; - console.log(videos); + const videos = data; + console.log(data); const totalItems = data?.data?.data?.totalItems; const totalPages = data?.data?.data?.totalPages; - function displayCurrentPageItems() { - const startIndex = (currentPage - 1) * pageSize; - const endIndex = Math.min(startIndex + pageSize, totalItems); - const currentPageItems = videos.slice(startIndex, endIndex); - return currentPageItems; - } - - if (!videos) { - return
Loading...
; - } - function goToPage(page) { if (page >= 1 && page <= totalPages) { setCurrentPage(page); - displayCurrentPageItems(); } } - const currentPageItems = displayCurrentPageItems(); - return ( { justifyContent={"space-between"} alignItems={"center"} > - {currentPageItems.map((content) => ( + {videos.map((content) => ( <>