diff --git a/src/Redux/slice/NewsInternalSlice.js b/src/Redux/slice/NewsInternalSlice.js
new file mode 100644
index 0000000..ae0fea0
--- /dev/null
+++ b/src/Redux/slice/NewsInternalSlice.js
@@ -0,0 +1,13 @@
+import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
+
+export const newsInternalApi = createApi({
+ reducerPath: 'newsInternal',
+ baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }),
+ endpoints: (builder) => ({
+ getNewsInternal: builder.query({
+ query: () => 'news/active',
+ }),
+ }),
+});
+
+export const { useGetNewsInternalQuery } = newsInternalApi;
\ No newline at end of file
diff --git a/src/Redux/slice/ecosystemSlice.js b/src/Redux/slice/ecosystemSlice.js
new file mode 100644
index 0000000..8b6fdfe
--- /dev/null
+++ b/src/Redux/slice/ecosystemSlice.js
@@ -0,0 +1,13 @@
+import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
+
+export const ecoSystem = createApi({
+ reducerPath: 'ecoSystem',
+ baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }),
+ endpoints: (builder) => ({
+ getEcoSystem: builder.query({
+ query: () => 'eco/active',
+ }),
+ }),
+});
+
+export const { useGetEcoSystemQuery } = ecoSystem;
\ No newline at end of file
diff --git a/src/Redux/slice/homeSlice.js b/src/Redux/slice/homeSlice.js
index e628717..bab0adf 100644
--- a/src/Redux/slice/homeSlice.js
+++ b/src/Redux/slice/homeSlice.js
@@ -1,7 +1,7 @@
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
export const homePageApi = createApi({
- reducerPath: 'events',
+ reducerPath: 'homeSlice',
baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }),
endpoints: (builder) => ({
getHomePage: builder.query({
diff --git a/src/Redux/slice/newsSlice.js b/src/Redux/slice/newsSlice.js
index 52abd35..a7d8c81 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: ({ page, pageSize }) => `admin/news?page=${page}&pageSize=${pageSize}`,
+ query: ({ page, pageSize }) => `news/active?page=${page}&pageSize=${pageSize}`,
}),
}),
});
diff --git a/src/Redux/slice/resources.js b/src/Redux/slice/resources.js
index 9a5beff..3c23159 100644
--- a/src/Redux/slice/resources.js
+++ b/src/Redux/slice/resources.js
@@ -5,9 +5,12 @@ export const resourcesApi = createApi({
baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/' }),
endpoints: (builder) => ({
getResources: builder.query({
- query: ({ page, pageSize }) => `admin/whitepaper?page=${page}&pageSize=${pageSize}`,
+ query: ({ page, pageSize }) => `whitepaper/active?page=${page}&pageSize=${pageSize}`,
+ }),
+ getArticles: builder.query({
+ query: ({ page, pageSize }) => `artical/active?page=${page}&pageSize=${pageSize}`,
}),
}),
});
-export const { useGetResourcesQuery } = resourcesApi;
\ No newline at end of file
+export const { useGetResourcesQuery, useGetArticlesQuery } = resourcesApi;
\ No newline at end of file
diff --git a/src/Redux/slice/statsSlice.js b/src/Redux/slice/statsSlice.js
new file mode 100644
index 0000000..986a90a
--- /dev/null
+++ b/src/Redux/slice/statsSlice.js
@@ -0,0 +1,16 @@
+import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
+
+export const statsApi = createApi({
+ reducerPath: 'statsApi',
+ baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix-explorer-api.azurewebsites.net/api/' }),
+ endpoints: (builder) => ({
+ getStatsApi: builder.query({
+ query: () => 'Explorer/totalsupply',
+ }),
+ getStatApi: builder.query({
+ query: () => 'Explorer/Cards',
+ }),
+ }),
+});
+
+export const { useGetStatsApiQuery, useGetStatApiQuery } = statsApi;
diff --git a/src/Redux/store/store.js b/src/Redux/store/store.js
index 266d4af..7528242 100644
--- a/src/Redux/store/store.js
+++ b/src/Redux/store/store.js
@@ -10,6 +10,9 @@ import { learnPageApi } from '../slice/learPageSlice';
import { homePageApi } from '../slice/homeSlice';
import { eventsViewApi } from '../slice/eventsViewSlice';
import { useCaseApi } from '../slice/useCaseSlice';
+import { newsInternalApi } from '../slice/NewsInternalSlice';
+import { ecoSystem } from '../slice/ecosystemSlice';
+import { statsApi } from '../slice/statsSlice';
const store = configureStore({
reducer: {
@@ -24,6 +27,9 @@ const store = configureStore({
[homePageApi.reducerPath]: homePageApi.reducer,
[eventsViewApi.reducerPath]: eventsViewApi.reducer,
[useCaseApi.reducerPath]: useCaseApi.reducer,
+ [newsInternalApi.reducerPath]: newsInternalApi.reducer,
+ [ecoSystem.reducerPath]: ecoSystem.reducer,
+ [statsApi.reducerPath]: statsApi.reducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(
@@ -38,6 +44,9 @@ const store = configureStore({
homePageApi.middleware,
eventsViewApi.middleware,
useCaseApi.middleware,
+ newsInternalApi.middleware,
+ ecoSystem.middleware,
+ statsApi.middleware,
), // Add blogApi.middleware here
});
diff --git a/src/components/EcoPage/EcoBanner.jsx b/src/components/EcoPage/EcoBanner.jsx
index b19ec86..4ffdb5b 100644
--- a/src/components/EcoPage/EcoBanner.jsx
+++ b/src/components/EcoPage/EcoBanner.jsx
@@ -1,6 +1,9 @@
+/* eslint-disable no-unused-vars */
import { Box, Button, Container, Text } from "@chakra-ui/react";
import banner from "../../assets/images/EcoBanner.png";
import { Link } from "react-router-dom";
+import Loader from "../Loader/Loader";
+import { useGetEcoSystemQuery } from "../../Redux/slice/ecosystemSlice";
const BannerContent = [
{
@@ -17,168 +20,169 @@ const BannerContent = [
];
const EcoBanner = () => {
+ const { data, isLoading, error } = useGetEcoSystemQuery();
+ const dataHeader = data?.data?.data;
+ console.log(dataHeader);
+ if (isLoading) {
+ return (
+
+
+
+ );
+ }
return (
-
-
+ <>
+ {dataHeader?.map((item) => (
-
-
- {BannerContent[0].head}
-
- {BannerContent[0].heading1}
-
- {BannerContent[0].heading2}
-
-
-
-
- {BannerContent[1].subheading}
-
-
-
-
-
+
+ {item.Heading}
+
+
+
+ {item.sub_heading}
+
+
+
+
+
+
+
-
-
+ ))}
+ >
);
};
diff --git a/src/components/HomePage/Stats.jsx b/src/components/HomePage/Stats.jsx
index 40cfc5f..907dc87 100644
--- a/src/components/HomePage/Stats.jsx
+++ b/src/components/HomePage/Stats.jsx
@@ -3,12 +3,15 @@ import { useInView } from "react-intersection-observer";
import CountUp from "react-countup";
import banner from "../../assets/images/Statsbanner.png";
import { useMediaQuery } from "@chakra-ui/react";
+import { useGetStatsApiQuery } from "../../Redux/slice/statsSlice";
const StatsContent = {
heading: `Key Statistics`,
};
const Stats = () => {
+ const { data, isLoading, error } = useGetStatsApiQuery();
+ console.log(data);
const [isSmallScreen] = useMediaQuery("(max-width: 435px)");
const { ref, inView } = useInView({
threshold: 0.5,
diff --git a/src/components/NavBar/NavBar.jsx b/src/components/NavBar/NavBar.jsx
index fa6534d..2e89159 100644
--- a/src/components/NavBar/NavBar.jsx
+++ b/src/components/NavBar/NavBar.jsx
@@ -325,7 +325,6 @@ const NavBar = () => {
-
setIsHoveredBuild(false)}
@@ -461,7 +460,6 @@ const NavBar = () => {
-
setIsHoveredCases(false)}
@@ -658,7 +656,6 @@ const NavBar = () => {
*/}
-
{/* {
+
+
+
+
+
+ EcoSystem
+
+
+
@@ -835,7 +854,6 @@ const NavBar = () => {
style={location.pathname === "/" ? active : linkStyle}
/>
*/}
-
{
+ const { title_slug } = useParams();
+ const { data, error, isLoading } = useGetNewsInternalQuery();
+ const newsPosts = data?.data?.data?.rows;
+ console.log(data?.data?.data?.rows);
+
+ useEffect(() => {
+ window.scrollTo(0, 0);
+ }, []);
+
+ if (isLoading) {
+ return (
+
+
+
+ );
+ }
+
+ const matchingNewsPost = newsPosts
+ ? newsPosts.find((item) => item.title_slug === title_slug)
+ : null;
+
+ console.log(matchingNewsPost);
+ return (
+ <>
+ {matchingNewsPost ? (
+
+
+
+ {matchingNewsPost.title}
+
+
+
+ {(function () {
+ const createdAtDate = new Date(matchingNewsPost.createdAt);
+ const formattedDate = createdAtDate
+ .toLocaleDateString("en-GB", {
+ day: "2-digit",
+ month: "2-digit",
+ year: "2-digit",
+ })
+ .replace(/\//g, "-");
+ return (
+
+ {formattedDate}
+
+ );
+ })()}
+
+
+
+
+
+
+ {matchingNewsPost.author_name}
+ {matchingNewsPost.author_designation}
+
+
+
+ {/* ========[ Banner ]======= */}
+
+
+
+
+
+
+
+ Share
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* {matchingNewsPost.content} */}
+
+
+
+
+ ) : (
+
+ )}
+ >
+ );
+};
+
+export default NewsInternalPage;
diff --git a/src/components/NewsPage/NewsContent.jsx b/src/components/NewsPage/NewsContent.jsx
index 9ea6476..2e08ca3 100644
--- a/src/components/NewsPage/NewsContent.jsx
+++ b/src/components/NewsPage/NewsContent.jsx
@@ -100,9 +100,9 @@ const NewsContent = () => {
const totalItems = data?.data?.totalItems;
const totalPages = data?.data?.totalPages;
- const newsCard = data?.data?.rows;
+ const newsCard = data?.data?.data?.rows;
- console.log(data?.data?.totalPages);
+ console.log(data?.data?.data?.rows);
if (!newsCard) {
return (
@@ -144,7 +144,7 @@ const NewsContent = () => {
>
{newsCard?.map((content) => (
<>
-
+
{
return (
<>
-
+
Newest Post
{
return (
-
+
Newest Post
-
-
-
-
-
-
- News & Article
-
-
- The Proofchain Technical Whitepaper
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut et massa
- mi. Aliquam in hendrerit urna. Pellentesque sit amet sapien
- fringilla, mattis ligula consectetur, ultrices mauris. Maecenas
- vitae,Aliquam in hendrerit urna. Pellentesque sit amet sapien
- fringilla, mattis ligula consectetur, ultrices mauris. Maecenas
- vitae,Aliquam in hendrerit urna. Pellentesque sit amet sapien
- fringilla, mattis ligula consectetur, ultrices mauris. Maecenas
- vitae
-
-
-
+ {videoTab.map((item) => (
+
+
+
+
+
+
+
+ {item.badge}
+
+
+ {item.title}
+
+ {item.descript}
+
+
+
+ ))}
+
);
};
diff --git a/src/index.css b/src/index.css
index 454e25f..a9854d5 100644
--- a/src/index.css
+++ b/src/index.css
@@ -177,7 +177,33 @@ span.swiper-pagination-bullet {
border: none;
}
+.tabspagination .swiper-pagination {
+ top: 94% !important;
+}
+
+.tabspagination .swiper-button-prev:after,
+.swiper-button-next:after {
+ font-weight: bolder;
+ font-size: xx-large;
+}
+
+.tabspagination .swiper-button-next {
+ left: 98%;
+}
+
+.tabspagination .swiper-button-prev {
+ right: 98%;
+}
+
@media only screen and (max-width: 600px) {
+ .tabspagination .swiper-button-prev,
+ .tabspagination .swiper-button-next {
+ display: none;
+ }
+ .tabspagination .swiper-pagination {
+ top: 98% !important;
+ }
+
.swiper-button-prev:after,
.swiper-button-next:after {
font-size: 30px;
diff --git a/src/pages/Ecosystem.jsx b/src/pages/Ecosystem.jsx
index c3cfd84..a213873 100644
--- a/src/pages/Ecosystem.jsx
+++ b/src/pages/Ecosystem.jsx
@@ -1,12 +1,14 @@
import EcoBanner from "../components/EcoPage/EcoBanner";
import EnterPrises from "../components/EcoPage/EnterPrises";
import LearnMore from "../components/Community/LearnMore";
+import LearnDev from "../components/LearnPage/LearnDev";
const Ecosystem = () => {
return (
-
+ {/* */}
+
);
diff --git a/src/pages/NewsInternal.jsx b/src/pages/NewsInternal.jsx
new file mode 100644
index 0000000..679c1c4
--- /dev/null
+++ b/src/pages/NewsInternal.jsx
@@ -0,0 +1,11 @@
+import NewsInternalPage from "../components/NewsInternal/NewsInternalPage";
+
+const NewsInternal = () => {
+ return (
+ <>
+
+ >
+ );
+};
+
+export default NewsInternal;
diff --git a/src/routes/_routes.jsx b/src/routes/_routes.jsx
index 93916f4..8566cd8 100644
--- a/src/routes/_routes.jsx
+++ b/src/routes/_routes.jsx
@@ -20,12 +20,12 @@ import HomePage from "../pages/HomePage";
import LearnPage from "../pages/LearnPage";
import NotFound from "../pages/NotFound";
import UseCases from "../pages/UseCases";
-import fintech from "../assets/images/usecase-bg.png";
-import adTech from "../assets/images/addtech.jpg";
-import martech from "../assets/images/martech.png";
-import security from "../assets/images/i&security-bg.png";
-import tele from "../assets/images/Telecom-bg.png";
-import healthTech from "../assets/images/health-tech.png";
+// import fintech from "../assets/images/usecase-bg.png";
+// import adTech from "../assets/images/addtech.jpg";
+// import martech from "../assets/images/martech.png";
+// import security from "../assets/images/i&security-bg.png";
+// import tele from "../assets/images/Telecom-bg.png";
+// import healthTech from "../assets/images/health-tech.png";
import Form from "../components/Contact/Form";
import ResourcesPage from "../pages/ResourcesPage";
import VideoInternal from "../components/VideoInternal/VideoInternal";
@@ -34,6 +34,7 @@ import Events from "../pages/Events";
import NewsPage from "../pages/NewsPage";
import EventsInternnal from "../pages/EventsInternnal";
import BlogPost from "../components/BlogPost/BlogPost";
+import NewsInternal from "../pages/NewsInternal";
export const route = [
{
@@ -129,6 +130,10 @@ export const route = [
path: "/:title_slug",
element: ,
},
+ {
+ path: "news/:title_slug",
+ element: ,
+ },
// {
// path: "fin-tech",