diff --git a/src/Redux/slice/resources.js b/src/Redux/slice/resources.js new file mode 100644 index 0000000..2f3ce45 --- /dev/null +++ b/src/Redux/slice/resources.js @@ -0,0 +1,13 @@ +import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; + +export const resourcesApi = createApi({ + reducerPath: 'resources-page', + baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }), + endpoints: (builder) => ({ + getResources: builder.query({ + query: () => 'admin/whitepaper', + }), + }), +}); + +export const { useGetResourcesQuery } = resourcesApi; \ No newline at end of file diff --git a/src/Redux/store/store.js b/src/Redux/store/store.js index 1ca517c..e02c49c 100644 --- a/src/Redux/store/store.js +++ b/src/Redux/store/store.js @@ -3,6 +3,7 @@ import { api } from '../slice/communitySlice'; import { blogApi } from '../slice/blogsSlice'; import { communitiesBanner } from '../slice/communityBannerSlice'; import { newsApi } from '../slice/newsSlice'; +import { resourcesApi } from '../slice/resources'; const store = configureStore({ reducer: { @@ -10,13 +11,15 @@ const store = configureStore({ [blogApi.reducerPath]: blogApi.reducer, [communitiesBanner.reducerPath]: communitiesBanner.reducer, [newsApi.reducerPath]: newsApi.reducer, + [resourcesApi.reducerPath]: resourcesApi.reducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat( api.middleware, blogApi.middleware, communitiesBanner.middleware, - newsApi.middleware + newsApi.middleware, + resourcesApi.middleware ), // Add blogApi.middleware here }); diff --git a/src/components/Contact/Form.jsx b/src/components/Contact/Form.jsx index 470fb95..4f6ecef 100644 --- a/src/components/Contact/Form.jsx +++ b/src/components/Contact/Form.jsx @@ -416,7 +416,7 @@ const Contact = () => { placeholder type="tel" enableSearch={true} - // country={"in"} + country={"in"} inputStyle={{ display: "block", marginBottom: "5px !important", diff --git a/src/components/NewsPage/NewsContent.jsx b/src/components/NewsPage/NewsContent.jsx index 900ff3f..8754dd2 100644 --- a/src/components/NewsPage/NewsContent.jsx +++ b/src/components/NewsPage/NewsContent.jsx @@ -77,20 +77,31 @@ const contents = [ const NewsContent = () => { const { data } = useGetNewsQuery(); const newsCard = data?.data?.rows; - console.log(newsCard); + console.log(data?.data); - // const [currentPage, setCurrentPage] = useState(1); - // const itemsPerPage = 9; - // const totalPages = Math.ceil(newsCard.length / itemsPerPage); + let currentPage = data?.data?.currentPage; + const totalItems = data?.data?.totalItems; + console.log(currentPage); - // const handlePageChange = (newPage) => { - // setCurrentPage(newPage); - // window.scrollTo({ top: 0, behavior: "smooth" }); - // }; + const pageSize = 10; + + const totalPages = Math.ceil(totalItems / pageSize); + + function displayCurrentPageItems() { + const startIndex = (currentPage - 1) * pageSize; + const endIndex = Math.min(startIndex + pageSize, totalItems); + + const currentPageItems = newsCard.slice(startIndex, endIndex); + // Display currentPageItems in your UI + } + + function goToPage(page) { + if (page >= 1 && page <= totalPages) { + currentPage = page; + displayCurrentPageItems(); + } + } - // const startIndex = (currentPage - 1) * itemsPerPage; - // const endIndex = Math.min(startIndex + itemsPerPage, contents.length); - // const currentPageContents = contents.slice(startIndex, endIndex); return ( <> { margin={"4rem 0"} display={"flex"} flexWrap={"wrap"} - rowGap={"3rem"} - justifyContent={"space-between"} + gap={"3rem"} + // justifyContent={"space-between"} alignItems={"center"} sx={{ "@media (max-width: 1024px)": { @@ -117,54 +128,92 @@ const NewsContent = () => { > {newsCard?.map((content) => ( <> - - + - - - {content.title} - + > + + + + {(function () { + const createdAtDate = new Date(content.release_date); + const formattedDate = createdAtDate + .toLocaleDateString("en-GB", { + day: "2-digit", + month: "2-digit", + year: "2-digit", + }) + .replace(/\//g, "-"); // Replace '/' with '-' + return ( + + + {" "} + Released On, + {" "} + {formattedDate} + + ); + })()} - - {content.content} + {content.title} - - {/* + + {content.content} + + + {/* { */} + - + ))} - {/* */} + onPageChange={goToPage} + /> ); }; diff --git a/src/components/NewsPage/NewsHeader.jsx b/src/components/NewsPage/NewsHeader.jsx index 4f5e166..45989e6 100644 --- a/src/components/NewsPage/NewsHeader.jsx +++ b/src/components/NewsPage/NewsHeader.jsx @@ -1,6 +1,11 @@ import { Badge, Box, Container, Text } from "@chakra-ui/react"; +import { useGetNewsQuery } from "../../Redux/slice/newsSlice"; const NewsHeader = () => { + const { data } = useGetNewsQuery(); + const newsCard = data?.data?.rows; + console.log(newsCard); + return ( { + const { data } = useGetResourcesQuery(); + console.log(data); + switch (tab) { case "The Rubix whitepapers": return ( diff --git a/src/components/ResourcesPage/tableContent/VideoTable.jsx b/src/components/ResourcesPage/tableContent/VideoTable.jsx index 684c691..2e33c09 100644 --- a/src/components/ResourcesPage/tableContent/VideoTable.jsx +++ b/src/components/ResourcesPage/tableContent/VideoTable.jsx @@ -104,7 +104,7 @@ const VideoTable = () => { color={"#fff"} fontSize={"25px"} marginBottom={"20px"} - minHeight={"40px"} + minHeight={"70px"} maxWidth={"420px"} > {content.title}