mirror of
https://github.com/WDI-Ideas/rubix.git
synced 2026-04-29 02:25:51 +00:00
installed Redux and Events internal page development
This commit is contained in:
91
package-lock.json
generated
91
package-lock.json
generated
@@ -14,6 +14,7 @@
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@fontsource/poppins": "^5.0.12",
|
||||
"@gsap/react": "^2.1.0",
|
||||
"@reduxjs/toolkit": "^2.2.3",
|
||||
"axios": "^1.6.8",
|
||||
"framer-motion": "^11.0.15",
|
||||
"react": "^18.2.0",
|
||||
@@ -22,6 +23,7 @@
|
||||
"react-google-recaptcha": "^3.1.0",
|
||||
"react-hook-form": "^7.51.2",
|
||||
"react-intersection-observer": "^9.8.1",
|
||||
"react-redux": "^9.1.1",
|
||||
"react-router-dom": "^6.22.3",
|
||||
"swiper": "^11.1.0"
|
||||
},
|
||||
@@ -2006,6 +2008,29 @@
|
||||
"url": "https://opencollective.com/popperjs"
|
||||
}
|
||||
},
|
||||
"node_modules/@reduxjs/toolkit": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.3.tgz",
|
||||
"integrity": "sha512-76dll9EnJXg4EVcI5YNxZA/9hSAmZsFqzMmNRHvIlzw2WS/twfcVX3ysYrWGJMClwEmChQFC4yRq74tn6fdzRA==",
|
||||
"dependencies": {
|
||||
"immer": "^10.0.3",
|
||||
"redux": "^5.0.1",
|
||||
"redux-thunk": "^3.1.0",
|
||||
"reselect": "^5.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.9.0 || ^17.0.0 || ^18",
|
||||
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react": {
|
||||
"optional": true
|
||||
},
|
||||
"react-redux": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@remix-run/router": {
|
||||
"version": "1.15.3",
|
||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
|
||||
@@ -2452,6 +2477,11 @@
|
||||
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
|
||||
"devOptional": true
|
||||
},
|
||||
"node_modules/@types/use-sync-external-store": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
|
||||
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
|
||||
},
|
||||
"node_modules/@ungap/structured-clone": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
|
||||
@@ -3934,6 +3964,15 @@
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/immer": {
|
||||
"version": "10.0.4",
|
||||
"resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
|
||||
"integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/immer"
|
||||
}
|
||||
},
|
||||
"node_modules/import-fresh": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
||||
@@ -5001,6 +5040,32 @@
|
||||
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
||||
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
||||
},
|
||||
"node_modules/react-redux": {
|
||||
"version": "9.1.1",
|
||||
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.1.tgz",
|
||||
"integrity": "sha512-5ynfGDzxxsoV73+4czQM56qF43vsmgJsO22rmAvU5tZT2z5Xow/A2uhhxwXuGTxgdReF3zcp7A80gma2onRs1A==",
|
||||
"dependencies": {
|
||||
"@types/use-sync-external-store": "^0.0.3",
|
||||
"use-sync-external-store": "^1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^18.2.25",
|
||||
"react": "^18.0",
|
||||
"react-native": ">=0.69",
|
||||
"redux": "^5.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"react-native": {
|
||||
"optional": true
|
||||
},
|
||||
"redux": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-remove-scroll": {
|
||||
"version": "2.5.9",
|
||||
"resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.9.tgz",
|
||||
@@ -5098,6 +5163,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/redux": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
|
||||
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
|
||||
},
|
||||
"node_modules/redux-thunk": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
|
||||
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
|
||||
"peerDependencies": {
|
||||
"redux": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/reflect.getprototypeof": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
|
||||
@@ -5142,6 +5220,11 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/reselect": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz",
|
||||
"integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg=="
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "2.0.0-next.5",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
|
||||
@@ -5723,6 +5806,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/use-sync-external-store": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
|
||||
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
|
||||
"peerDependencies": {
|
||||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"@emotion/styled": "^11.11.0",
|
||||
"@fontsource/poppins": "^5.0.12",
|
||||
"@gsap/react": "^2.1.0",
|
||||
"@reduxjs/toolkit": "^2.2.3",
|
||||
"axios": "^1.6.8",
|
||||
"framer-motion": "^11.0.15",
|
||||
"react": "^18.2.0",
|
||||
@@ -24,6 +25,7 @@
|
||||
"react-google-recaptcha": "^3.1.0",
|
||||
"react-hook-form": "^7.51.2",
|
||||
"react-intersection-observer": "^9.8.1",
|
||||
"react-redux": "^9.1.1",
|
||||
"react-router-dom": "^6.22.3",
|
||||
"swiper": "^11.1.0"
|
||||
},
|
||||
|
||||
14
src/Redux/slice/communitySlice.js
Normal file
14
src/Redux/slice/communitySlice.js
Normal file
@@ -0,0 +1,14 @@
|
||||
// apiSlice.js
|
||||
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
|
||||
|
||||
export const api = createApi({
|
||||
reducerPath: 'communities',
|
||||
baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/admin/' }),
|
||||
endpoints: (builder) => ({
|
||||
getCommunities: builder.query({
|
||||
query: () => 'community',
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export const { useGetCommunitiesQuery } = api;
|
||||
12
src/Redux/store/store.js
Normal file
12
src/Redux/store/store.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import { configureStore } from '@reduxjs/toolkit';
|
||||
import { api } from '../slice/communitySlice';
|
||||
|
||||
const store = configureStore({
|
||||
reducer: {
|
||||
[api.reducerPath]: api.reducer,
|
||||
},
|
||||
middleware: (getDefaultMiddleware) =>
|
||||
getDefaultMiddleware().concat(api.middleware),
|
||||
});
|
||||
|
||||
export default store;
|
||||
BIN
src/assets/images/calendar.png
Normal file
BIN
src/assets/images/calendar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 333 B |
BIN
src/assets/images/eventInternal.png
Normal file
BIN
src/assets/images/eventInternal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 482 KiB |
@@ -25,10 +25,12 @@ import imgnine from "../../assets/images/Component123.png";
|
||||
import imgten from "../../assets/images/Component128.png";
|
||||
import imgeleven from "../../assets/images/Component127.png";
|
||||
import imgtweleve from "../../assets/images/kiran.jpg";
|
||||
import { useEffect } from "react";
|
||||
import axios from "axios";
|
||||
import { useGetCommunitiesQuery } from "../../Redux/slice/communitySlice";
|
||||
|
||||
const individuals = [
|
||||
{
|
||||
location: "india",
|
||||
name: "KC Reddy",
|
||||
jobTitle: "Founder/CTO",
|
||||
description:
|
||||
@@ -37,7 +39,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/kc-reddy-767a3463/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Ravi Srinivasa Murty",
|
||||
jobTitle: "Chief Strategy Officer",
|
||||
description:
|
||||
@@ -46,7 +47,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/ravi-srinivasa-murty-7a46041/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Hari Krishnan",
|
||||
jobTitle: "Head of Technology",
|
||||
description:
|
||||
@@ -55,7 +55,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/hari-krishnan-1691b6120/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Eser Torun, CFA",
|
||||
jobTitle: "Chief Growth Officer",
|
||||
description:
|
||||
@@ -64,7 +63,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/eser-torun-cfa?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Gokul P S",
|
||||
jobTitle: "Core Blockchain Developer",
|
||||
description:
|
||||
@@ -73,7 +71,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/gokul-p-s-3a8445130/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Allen Iype P Cherian",
|
||||
jobTitle: "Blockchain Engineer",
|
||||
description:
|
||||
@@ -82,7 +79,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/allen-iype-p-cherian/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Nidhin M.",
|
||||
jobTitle: "Lead Engineer",
|
||||
description:
|
||||
@@ -91,7 +87,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/nidhinmahesh/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Arnab Ghose",
|
||||
jobTitle: "Senior Blockchain Engineer",
|
||||
description:
|
||||
@@ -100,7 +95,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/arnabghose997?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Ashita Gupta",
|
||||
jobTitle: "Blockchain Developer",
|
||||
description:
|
||||
@@ -109,7 +103,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/ashita-gupta-5a0827167/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Vaishnav C H",
|
||||
jobTitle: "Blockchain Developer",
|
||||
description:
|
||||
@@ -118,7 +111,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/vaishnav-c-h-134053221/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Maneesha Panda",
|
||||
jobTitle: "Blockchain Engineer",
|
||||
description:
|
||||
@@ -127,7 +119,6 @@ const individuals = [
|
||||
link: `https://www.linkedin.com/in/maneesha-panda/`,
|
||||
},
|
||||
{
|
||||
location: "india",
|
||||
name: "Kiran H",
|
||||
jobTitle: "Lead Software Engineer",
|
||||
description:
|
||||
@@ -138,6 +129,24 @@ const individuals = [
|
||||
];
|
||||
|
||||
const CommunityCard = () => {
|
||||
// const { data, error, isLoading } = useGetCommunitiesQuery();
|
||||
|
||||
useEffect(() => {
|
||||
// async function fetchData() {
|
||||
// try {
|
||||
// const response = await axios.get(
|
||||
// "https://rubix.betadelivery.com/api/admin/community"
|
||||
// );
|
||||
// console.log(response.data.data.rows);
|
||||
// } catch (error) {
|
||||
// // Handle errors
|
||||
// console.error("Error fetching data:", error.message);
|
||||
// }
|
||||
// }
|
||||
// // Call the fetchData function to initiate the request
|
||||
// fetchData();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Box backgroundColor={"#101015"}>
|
||||
|
||||
74
src/components/EventsInternal/EventDates/EventDates.jsx
Normal file
74
src/components/EventsInternal/EventDates/EventDates.jsx
Normal file
@@ -0,0 +1,74 @@
|
||||
import { Box, Image, Text } from "@chakra-ui/react";
|
||||
import calendar from "../../../assets/images/calendar.png";
|
||||
import pin from "../../../assets/images/map-pin.png";
|
||||
|
||||
const EventDates = () => {
|
||||
return (
|
||||
<Box
|
||||
width={"20%"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
backgroundColor={"#15181E"}
|
||||
padding={"1rem"}
|
||||
fontSize={"14px"}
|
||||
borderRadius={"5px"}
|
||||
fontFamily={"Poppins"}
|
||||
marginBottom={"2rem"}
|
||||
minW={"300px"}
|
||||
>
|
||||
<Text mb={"20px"}>Details</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
|
||||
</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
|
||||
</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
|
||||
</Text>
|
||||
</Box>
|
||||
|
||||
<Box
|
||||
backgroundColor={"#15181E"}
|
||||
padding={"1rem"}
|
||||
fontSize={"14px"}
|
||||
borderRadius={"5px"}
|
||||
fontFamily={"Poppins"}
|
||||
marginBottom={"2rem"}
|
||||
minW={"300px"}
|
||||
>
|
||||
<Text mb={"20px"}>Location</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
<Image src={pin} mr={"10px"} /> Anywhere 123, anycity
|
||||
</Text>
|
||||
</Box>
|
||||
|
||||
<Box
|
||||
backgroundColor={"#15181E"}
|
||||
padding={"1rem"}
|
||||
fontSize={"14px"}
|
||||
borderRadius={"5px"}
|
||||
fontFamily={"Poppins"}
|
||||
minW={"300px"}
|
||||
>
|
||||
<Text mb={"20px"}>Organizer</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
Rubix Team
|
||||
</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
+91 4578451245
|
||||
</Text>
|
||||
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
|
||||
rubix@gmail.com
|
||||
</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
);
|
||||
};
|
||||
|
||||
export default EventDates;
|
||||
@@ -1,5 +1,6 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
import React, { useEffect } from "react";
|
||||
import { Box, Text, Image } from "@chakra-ui/react";
|
||||
import { Box, Text, Image, Container } from "@chakra-ui/react";
|
||||
import { Avatar, AvatarBadge, AvatarGroup } from "@chakra-ui/react";
|
||||
import banner from "../../assets/images/articleInternalbanner.png";
|
||||
import Chip from "../Chip/Chip";
|
||||
@@ -12,6 +13,8 @@ import github from "../../assets/images/github.png";
|
||||
import tele from "../../assets/images/tele.png";
|
||||
import reddit from "../../assets/images/reddit.png";
|
||||
import fb from "../../assets/images/fb.png";
|
||||
import pic from "../../assets/images/eventInternal.png";
|
||||
import EventDates from "./EventDates/EventDates";
|
||||
|
||||
const EventsInternal = () => {
|
||||
useEffect(() => {
|
||||
@@ -19,104 +22,140 @@ const EventsInternal = () => {
|
||||
}, []);
|
||||
return (
|
||||
<>
|
||||
<Box
|
||||
bg="#000000"
|
||||
height={"auto"}
|
||||
display={"flex"}
|
||||
gap={7}
|
||||
justifyContent={"center"}
|
||||
alignItems={"center"}
|
||||
flexDirection={"column"}
|
||||
color="white"
|
||||
>
|
||||
<Box>
|
||||
<Box
|
||||
bg="#000000"
|
||||
minHeight={"60vh"}
|
||||
width={"70vw"}
|
||||
display={"flex"}
|
||||
gap={5}
|
||||
marginTop={10}
|
||||
justifyContent={"end"}
|
||||
alignItems={"center"}
|
||||
flexDirection={"column"}
|
||||
color="white"
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
minHeight: "inherit",
|
||||
width: "100vw",
|
||||
marginTop: "6rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Text
|
||||
textAlign={"center"}
|
||||
className="rubix-fw-600"
|
||||
fontSize={"40px"}
|
||||
fontFamily={"Mona Sans"}
|
||||
color={"#fff"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
fontSize: "28px",
|
||||
lineHeight: "45px",
|
||||
padding: "0px 1rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
Enterprise blockchains on a Public Chain!
|
||||
</Text>
|
||||
</Box>
|
||||
{/* ========[ Banner ]======= */}
|
||||
<Box
|
||||
height={"70vh"}
|
||||
width={"85vw"}
|
||||
backgroundImage={`url(${banner})`}
|
||||
backgroundRepeat={"no-repeat"}
|
||||
backgroundSize={"cover"}
|
||||
position="relative"
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
height: "215px",
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
position="absolute"
|
||||
top={0}
|
||||
left={0}
|
||||
width="100%"
|
||||
height="100%"
|
||||
backgroundColor="rgba(0, 0, 0, 0.5)"
|
||||
/>
|
||||
</Box>
|
||||
|
||||
<Box
|
||||
bg="#000000"
|
||||
width={"85vw"}
|
||||
height={"auto"}
|
||||
display={"flex"}
|
||||
pb={"60px"}
|
||||
gap={5}
|
||||
gap={7}
|
||||
justifyContent={"center"}
|
||||
alignItems={"center"}
|
||||
flexDirection={"column"}
|
||||
color="white"
|
||||
position={"relative"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
display: "block",
|
||||
top: "inherit",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
position={"absolute"}
|
||||
top={0}
|
||||
left={0}
|
||||
bg="#000000"
|
||||
minHeight={"60vh"}
|
||||
width={"80%"}
|
||||
display={"flex"}
|
||||
gap={5}
|
||||
marginTop={10}
|
||||
justifyContent={"end"}
|
||||
alignItems={"start"}
|
||||
flexDirection={"column"}
|
||||
alignItems={"center"}
|
||||
gap={2}
|
||||
color="white"
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
minHeight: "inherit",
|
||||
width: "100vw",
|
||||
marginTop: "6rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Text
|
||||
as={"h2"}
|
||||
textAlign={"left"}
|
||||
className="rubix-fw-600"
|
||||
fontSize={"40px"}
|
||||
fontFamily={"Mona Sans"}
|
||||
color={"#fff"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
fontSize: "28px",
|
||||
lineHeight: "45px",
|
||||
padding: "0px 1rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
Financial Times Crypto & Digital Assets Summit Panel
|
||||
</Text>
|
||||
<Text
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
padding: "0px 1rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
Friday, May 18 - 8.00 PM
|
||||
</Text>
|
||||
</Box>
|
||||
|
||||
{/* ========[ Banner ]======= */}
|
||||
<Container
|
||||
maxW={"container.xl"}
|
||||
display={"flex"}
|
||||
alignItems={"flex-start"}
|
||||
justifyContent={"center"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
flexDirection: "column",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
width={"845px"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
pb={"2rem"}
|
||||
width={"815px"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
height: "215px",
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Image src={pic} />
|
||||
</Box>
|
||||
{/* Content */}
|
||||
<Box
|
||||
bg="#000000"
|
||||
pb={"20px"}
|
||||
color="white"
|
||||
width={"94%"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
display: "block",
|
||||
top: "inherit",
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Text pb={5} className="rubix-text-small">
|
||||
BlockSpace is the number of transactions which the blockchain
|
||||
will order before appending to the chain of previous
|
||||
transactions. For example, if max block space is 200KB and
|
||||
average transactions take only 1Kb, then the chain may have a
|
||||
room for ~190 transactions in one block. BlockSpace is a
|
||||
measure of how busy is the blockchain. Low BlockSpace may mean
|
||||
transactions remain unattended in the Mempool for very long.
|
||||
Transactions that compete with each to pay higher fees are
|
||||
likely to be validated faster. The BlockSpace limit is
|
||||
intended to protect the decentralized nature of monolithic
|
||||
blockchains from centralization via large blocks. It protects
|
||||
small miners from being outcompeted by large blocks by
|
||||
requiring higher minimum fees with larger block size, which
|
||||
regulates the number of transactions that can be included in
|
||||
each block. It does not mean that there will be this many
|
||||
transactions in any given period, but rather gives an idea of
|
||||
how many transactions the network can process in a certain
|
||||
period when under stress.
|
||||
</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
<EventDates />
|
||||
</Container>
|
||||
|
||||
{/* Socials */}
|
||||
<Box
|
||||
width={"80%"}
|
||||
textAlign={"left"}
|
||||
paddingBottom={"2rem"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
bottom: "0px",
|
||||
@@ -125,11 +164,13 @@ const EventsInternal = () => {
|
||||
width: "100%",
|
||||
marginBottom: "20px",
|
||||
marginTop: "20px",
|
||||
padding: "0 1rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Text
|
||||
className="rubix-text-xsmall"
|
||||
marginBottom={"1rem"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
marginBottom: "15px",
|
||||
@@ -140,6 +181,9 @@ const EventsInternal = () => {
|
||||
</Text>
|
||||
|
||||
<Text
|
||||
display={"flex"}
|
||||
alignItems={"center"}
|
||||
gap={"2rem"}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
display: "flex",
|
||||
@@ -148,201 +192,12 @@ const EventsInternal = () => {
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Image cursor={"pointer"} mb={4} w={6} h={6} src={tele} />
|
||||
<Image cursor={"pointer"} mb={4} w={6} h={6} src={x} />
|
||||
<Image cursor={"pointer"} mb={4} w={6} h={6} src={fb} />
|
||||
<Image cursor={"pointer"} mb={4} w={6} h={6} src={linked} />
|
||||
<Image cursor={"pointer"} w={6} h={6} src={tele} />
|
||||
<Image cursor={"pointer"} w={6} h={6} src={x} />
|
||||
<Image cursor={"pointer"} w={6} h={6} src={fb} />
|
||||
<Image cursor={"pointer"} w={6} h={6} src={linked} />
|
||||
</Text>
|
||||
</Box>
|
||||
<Box
|
||||
bg="#000000"
|
||||
width={"68vw"}
|
||||
height={"auto"}
|
||||
display={"flex"}
|
||||
flexDirection={"column"}
|
||||
gap={5}
|
||||
justifyContent={"start"}
|
||||
color="white"
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
width: "100%",
|
||||
},
|
||||
}}
|
||||
>
|
||||
<Box display={"flex"} gap={5} justifyContent={"start"}>
|
||||
<Chip title="INSIGHT" />
|
||||
<Chip title="BLOCKSPACE" />
|
||||
</Box>
|
||||
|
||||
<Box
|
||||
pt={5}
|
||||
pb={5}
|
||||
sx={{
|
||||
"@media (max-width: 600px)": {
|
||||
marginBottom: "3rem",
|
||||
},
|
||||
}}
|
||||
>
|
||||
{/* <Text pb={10} pt={5}>
|
||||
<img
|
||||
width={"100%"}
|
||||
src="https://www.rubix.net/wp-content/uploads/blockchain.webp"
|
||||
/>
|
||||
</Text> */}
|
||||
<Text pb={5} className="rubix-text-small">
|
||||
Web3 transformation is beginning to accelerate at an exponential
|
||||
rate. Enterprises & app developers alike are keenly looking for
|
||||
ways to migrate to Web3 protocols. Web3 is highly disruptive,
|
||||
yet brings immense business growth opportunities for
|
||||
enterprises. Enterprises & Web3 apps can also reduce operating &
|
||||
IT costs significantly by adopting decentralized protocols.
|
||||
While Web3 is highly relevant to DAOs (Decentralized Autonomous
|
||||
Organizations), Apps & enterprises alike, the focus in this blog
|
||||
is on how enterprises can build secure networks over the Rubix
|
||||
public blockchain instead of building expensive & clunky private
|
||||
/ permissioned chains. Blockchain & Web3 offer significant
|
||||
benefits for enterprises. Enterprises across sectors that adopt
|
||||
Web3 will benefit immensely, while those who don’t might face
|
||||
disruption from incumbents or new entrants. Benefits of Web3
|
||||
adoption include (a) better settlement internally or
|
||||
intra-industry (b) supply chain improvements ( c ) newer
|
||||
markets/growth opportunities (d) lower IT infrastructure costs &
|
||||
(e) Better ESG (environmental, social & governance) compliance.
|
||||
Enterprise blockchain adoption though has faced significant
|
||||
challenges so far. The challenges include (a) concerns about
|
||||
data security/privacy (b) storing data at all public blockchain
|
||||
nodes & ( c ) high transaction/infrastructure costs. Enterprises
|
||||
so far preferred setting up private / permissioned chains for
|
||||
both internal & intra-industry applications. Most of these
|
||||
applications fail to scale for the reasons explained in this
|
||||
para. The real benefits of blockchain accrue for enterprises on
|
||||
a public chain. The benefits of a public chain are several, but
|
||||
the most notable ones are (a) malleability — enterprises can
|
||||
expand/contract chains based on projects without needing to
|
||||
build custom blockchains for each use case & (b) open-source-
|
||||
having a community of developers/trouble-shooters gets better
|
||||
apps & reduces costs. While the benefits of a public chain are
|
||||
immense, faster adoption requires solving the current
|
||||
constraints. Public chains can offer a better way for
|
||||
enterprises to adopt Web3, But is there a public chain that can
|
||||
meet the needs of enterprises? In other words, can enterprises
|
||||
launch their chains on a public chain? After a long search, I
|
||||
came across a scalable open-sourced project called Rubix Chain
|
||||
which has been maintained for over a year providing huge support
|
||||
to anyone who wants a blockchain solution. I was very keen then
|
||||
onwards to see what’s going on and how their platform has been
|
||||
improving over time. The network was able to meet my
|
||||
expectations & ticked all the boxes including (a) having an
|
||||
option to choose validators such as custom validators or
|
||||
randomly chosen validators & (b) better infrastructure control
|
||||
which no other project has offered to date. Rubix Chain is a
|
||||
highly scalable blockchain protocol, using which enterprises or
|
||||
consortia can launch multiple proofchains with the same
|
||||
infrastructure. Rubix has its own platform, git repos, wallet,
|
||||
set-up system, support, etc. An open-source project having this
|
||||
level of support even for enterprise users too should be
|
||||
appreciated. Anyone who wants to set up their controlled network
|
||||
can use Rubix Chain — the setup process is very easy & there is
|
||||
good documentation. The entire network can be up & running in
|
||||
hours, not days.
|
||||
</Text>
|
||||
{/* <Text pb={10} pt={5}>
|
||||
<img
|
||||
style={{ backgroundColor: "#fff" }}
|
||||
width={"100%"}
|
||||
src="https://www.rubix.net/wp-content/uploads/independent-proofchains-of-tokens.png"
|
||||
/>
|
||||
</Text> */}
|
||||
<Text pb={5} className="rubix-text-small">
|
||||
Rubix ProofChain is the chain of all transactions that are bound
|
||||
by the user token called utility token (RBT). All ProofChains
|
||||
with tokens committed in the genesis node were originated by the
|
||||
genesis node itself and are stored and committed using the
|
||||
protocol and its ownership is globally verifiable. All others
|
||||
that are not pre-committed to the genesis node are mined by the
|
||||
validators and the corresponding ProofChain of that token will
|
||||
be starting with the validators node that has mined the token.
|
||||
Let’s take a look at what’s happening inside the Rubix Chain and
|
||||
understand why it’s the best enterprise solution. One major
|
||||
issue enterprise users face is the data discrepancy between
|
||||
different nodes or sub-networks. While in other public chains,
|
||||
third parties or oracles are needed to sync subnets, sidechains
|
||||
or parachains, in Rubix, different proofchains automatically
|
||||
sync to represent one global state without the explicit need for
|
||||
3rd party nodes or oracles.
|
||||
</Text>
|
||||
{/* <Text pb={10} pt={5}>
|
||||
<img
|
||||
style={{ backgroundColor: "#fff" }}
|
||||
width={"100%"}
|
||||
src="https://www.rubix.net/wp-content/uploads/multiple-quorum-validating-transactions.png"
|
||||
/>
|
||||
</Text> */}
|
||||
<Text pb={5} className="rubix-text-small">
|
||||
Another major advantage of the Rubix Chain is that even though
|
||||
it is a public chain, the level of decentralization that the
|
||||
network provides is flexible and customisable. Ideally,
|
||||
blockchain should be decentralized but based on the use case the
|
||||
Rubix Chain is adaptable in such a way that it can choose how
|
||||
decentralized the network should be, the level of security,
|
||||
which validator/quorum should be validating the transaction,
|
||||
etc. There could be some users who just want to have limited
|
||||
control over the data, while others want entire control whereas
|
||||
some others require entire decentralization. All these can be
|
||||
configured by just updating the quorum list with who validates
|
||||
the transaction. This choice of quorum brings forth the next
|
||||
major advantage, data control over the network, as this is one
|
||||
such major situation most enterprise users need is the option to
|
||||
validate the transaction within its nodes itself; this could be
|
||||
due to some internal policy or limitation in data sharing; Rubix
|
||||
provides the perfect solution for enterprises in adopting based
|
||||
on their needs. Let us discuss how Rubix can help enterprises
|
||||
meet their various requirements easily. For each Rubix
|
||||
transaction, the initiator can define the type of transaction it
|
||||
requires, based on the type the quorum will be picked. In Type 1
|
||||
transaction quorums are picked from a broad set of global
|
||||
validators, randomly, whereas Type 2 transactions will help
|
||||
enterprises or consortia use a pre-determined cluster of
|
||||
validators. Type 2 helps enterprises/consortia have better
|
||||
control over their data. Type 2 does not mean losing the
|
||||
benefits of a decentralized network (attributes such as
|
||||
immutability & Sybil resistance) as all enterprise chains will
|
||||
be part of a shared global state with a single public swarm key!
|
||||
Transactions done using a Type 2 transaction are as secure,
|
||||
immutable & globally verifiable as a Type 1 transaction, due to
|
||||
the revolutionary Proof of Pledge consensus protocol (more on
|
||||
this in the whitepaper found in the git repo. Malleability is
|
||||
perhaps the biggest benefit of building enterprise chains on top
|
||||
of the Rubix chain. For example, a consumer goods company can
|
||||
download the free Rubix software on all its internal computing
|
||||
nodes to run internal applications. Some of the internal nodes
|
||||
can easily be switched or be added to a consortium network
|
||||
without any time delay or additional costs. This makes
|
||||
enterprises highly adaptable to Web3 without necessarily
|
||||
committing at one go or doing costly PoCs. Since Rubix Chain is
|
||||
a resource-subdued, lightweight blockchain and easier to setup
|
||||
compared to other heavier public blockchains, it becomes cheaper
|
||||
to run as additional resources like parallel computing machines
|
||||
or ultra-spec systems are not necessarily required. Any normal
|
||||
machine that is capable of running normal applications and tools
|
||||
will be able to run Rubix Network on their machine. Another key
|
||||
requirement for enterprises is handling identity & KYC. Rubix is
|
||||
the only protocol with Decentralized Identity (DID) built from
|
||||
scratch. It is easier to build Identity & Access Management
|
||||
(IAM) & KYC applications using Rubix. From cost-effective to
|
||||
flexibility and security to scalability Rubix Chain is a project
|
||||
anyone can bet upon, unlike other blockchains that claims to be
|
||||
decentralized but are centralized by infrastructure Rubix
|
||||
network maintains the integrity of being decentralized. Setup
|
||||
instructions are available with all files here, repo also can be
|
||||
cloned from here. There is already significant interest from
|
||||
enterprises in building various applications including document
|
||||
management, finance, HR, ESG provenance, supply chain management
|
||||
& media. Rubix could be the protocol that helps enterprises
|
||||
quickly adapt to the inevitable rise of Web3.
|
||||
</Text>
|
||||
</Box>
|
||||
</Box>
|
||||
</Box>
|
||||
</Box>
|
||||
</>
|
||||
|
||||
16
src/main.jsx
16
src/main.jsx
@@ -4,13 +4,17 @@ import App from "./App.jsx";
|
||||
import "./index.css";
|
||||
import { ChakraProvider } from "@chakra-ui/react";
|
||||
import theme from "./components/Theme/Theme.jsx";
|
||||
import store from "./Redux/store/store.js";
|
||||
// import Fonts from "./components/Theme/Fonts.jsx";
|
||||
import { Provider } from "react-redux";
|
||||
|
||||
ReactDOM.createRoot(document.getElementById("root")).render(
|
||||
<React.StrictMode>
|
||||
<ChakraProvider theme={theme}>
|
||||
{/* <Fonts /> */}
|
||||
<App />
|
||||
</ChakraProvider>
|
||||
</React.StrictMode>
|
||||
<Provider store={store}>
|
||||
<React.StrictMode>
|
||||
<ChakraProvider theme={theme}>
|
||||
{/* <Fonts /> */}
|
||||
<App />
|
||||
</ChakraProvider>
|
||||
</React.StrictMode>
|
||||
</Provider>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user