diff --git a/src/Redux/slice/bannerSlice.js b/src/Redux/slice/bannerSlice.js new file mode 100644 index 0000000..bf21ea3 --- /dev/null +++ b/src/Redux/slice/bannerSlice.js @@ -0,0 +1,24 @@ +import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; + +export const learnPage = createApi({ + reducerPath: 'LearnPage', + baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }), + endpoints: (builder) => ({ + getLearnPage: builder.query({ + query: () => 'learn/active', + }), + }), +}); + +export const buildPage = createApi({ + reducerPath: 'BuildPage', + baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }), + endpoints: (builder) => ({ + getBuildPage: builder.query({ + query: () => 'build/active', + }), + }), +}); + +export const { useGetLearnPageQuery } = learnPage; +export const { useGetBuildPageQuery } = buildPage; diff --git a/src/Redux/store/store.js b/src/Redux/store/store.js index e3389d2..1c47951 100644 --- a/src/Redux/store/store.js +++ b/src/Redux/store/store.js @@ -7,6 +7,7 @@ import { resourcesApi } from '../slice/resources'; import { videoTableApi } from '../slice/videoTable'; import { newsLetterApi } from '../slice/newsLetter'; import { whitePaper } from '../slice/whitePaperSlice'; +import { buildPage, learnPage } from '../slice/bannerSlice'; const store = configureStore({ reducer: { @@ -18,6 +19,8 @@ const store = configureStore({ [videoTableApi.reducerPath]: videoTableApi.reducer, [newsLetterApi.reducerPath]: newsLetterApi.reducer, [whitePaper.reducerPath]: whitePaper.reducer, + [learnPage.reducerPath]: learnPage.reducer, + [buildPage.reducerPath]: buildPage.reducer, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat( @@ -29,6 +32,8 @@ const store = configureStore({ videoTableApi.middleware, newsLetterApi.middleware, whitePaper.middleware, + learnPage.middleware, + buildPage.middleware ), // Add blogApi.middleware here }); diff --git a/src/components/BuildPage/BuildBanner.jsx b/src/components/BuildPage/BuildBanner.jsx index 2bc1c7a..2f41a97 100644 --- a/src/components/BuildPage/BuildBanner.jsx +++ b/src/components/BuildPage/BuildBanner.jsx @@ -1,3 +1,5 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable react/prop-types */ import { Box, Button, Container, Text } from "@chakra-ui/react"; import banner from "../../assets/images/BuildBanner.webp"; import { Link } from "react-router-dom"; @@ -16,172 +18,177 @@ const BannerContent = [ }, ]; -const BuildBanner = () => { +const BuildBanner = ({ data }) => { return ( - - + <> + {data.map((item) => ( - - {BannerContent[0].heading1}
- - {BannerContent[0].heading2} - -
- - - {BannerContent[1].subheading} - - - - - + + {item.Heading}
+ {/* + {BannerContent[0].heading2} + */} +
+ + + {item.sub_heading} + + + + + +
+
- - + ))} + ); }; diff --git a/src/components/LearnPage/LearnBanner.jsx b/src/components/LearnPage/LearnBanner.jsx index 63c88f8..3fa8e73 100644 --- a/src/components/LearnPage/LearnBanner.jsx +++ b/src/components/LearnPage/LearnBanner.jsx @@ -1,3 +1,5 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable react/prop-types */ import { Box, Button, Container, Text } from "@chakra-ui/react"; import banner from "../../assets/images/learnBanner.webp"; import { Link } from "react-router-dom"; @@ -18,169 +20,160 @@ const BannerContent = [ }, ]; -const LearnBanner = () => { +const LearnBanner = ({ data }) => { return ( - - + <> + {data?.map((item) => ( - - - {BannerContent[0].head} - - {BannerContent[0].heading1}
- - {BannerContent[0].heading2} - -
- - - {BannerContent[1].subheading} - - - - - + + {item.Heading} + + + + {item.sub_heading} + + + + + +
+
- - + ))} + ); }; diff --git a/src/pages/BuildPage.jsx b/src/pages/BuildPage.jsx index 98ea3c1..9fd056d 100644 --- a/src/pages/BuildPage.jsx +++ b/src/pages/BuildPage.jsx @@ -8,8 +8,13 @@ import { useEffect, useState } from "react"; import LearnMore from "../components/BuildPage/LearnMore"; import ToolMobile from "../components/MobileComponent/ToolMobile"; import MobileSolve from "../components/MobileComponent/MobileSolve"; +import { useGetBuildPageQuery } from "../Redux/slice/bannerSlice"; const BuildPage = () => { + const { data } = useGetBuildPageQuery(); + const buildBanner = data?.data?.data; + console.log(buildBanner); + const [windowWidth, setWindowWidth] = useState(window.innerWidth); useEffect(() => { @@ -33,7 +38,7 @@ const BuildPage = () => { return ( <> - + {!isMobile ? : } {!isMobile ? : } diff --git a/src/pages/LearnPage.jsx b/src/pages/LearnPage.jsx index 4ddfbd3..72e4f7a 100644 --- a/src/pages/LearnPage.jsx +++ b/src/pages/LearnPage.jsx @@ -6,16 +6,31 @@ import GetStarted from "../components/LearnPage/GetStarted"; import LearnBanner from "../components/LearnPage/LearnBanner"; import LearnDev from "../components/LearnPage/LearnDev"; import WhyRubix from "../components/LearnPage/WhyRubix"; +import { useGetLearnPageQuery } from "../Redux/slice/bannerSlice"; +import Loader from "../components/Loader/Loader"; const LearnPage = () => { + const { data, isLoading, error } = useGetLearnPageQuery(); + const learnData = data?.data?.data; + console.log(learnData); + useEffect(() => { // Scroll to the top of the page when the component mounts window.scrollTo(0, 0); }, []); + + if (isLoading) { + return ( +
+ +
+ ); + } + return ( <> - - + +