2022-04-28 18:05:13 +00:00
|
|
|
import React, { useState, Suspense, useEffect, useLayoutEffect } from "react";
|
2021-07-30 11:25:17 +00:00
|
|
|
import {
|
2021-08-05 15:01:02 +00:00
|
|
|
Fade,
|
2021-07-30 11:25:17 +00:00
|
|
|
Flex,
|
|
|
|
Heading,
|
|
|
|
Box,
|
|
|
|
chakra,
|
|
|
|
Stack,
|
2022-05-05 19:00:23 +00:00
|
|
|
Link,
|
2022-05-05 15:35:42 +00:00
|
|
|
Center,
|
2021-08-02 11:42:31 +00:00
|
|
|
useMediaQuery,
|
2021-08-05 15:01:02 +00:00
|
|
|
Grid,
|
2021-08-19 12:48:17 +00:00
|
|
|
Text,
|
2021-08-05 15:01:02 +00:00
|
|
|
GridItem,
|
2022-04-28 18:05:13 +00:00
|
|
|
SimpleGrid,
|
2021-10-13 15:23:49 +00:00
|
|
|
Image as ChakraImage,
|
2022-05-05 15:35:42 +00:00
|
|
|
HStack,
|
2022-05-06 16:32:01 +00:00
|
|
|
VStack,
|
2021-07-30 11:25:17 +00:00
|
|
|
} from "@chakra-ui/react";
|
2021-08-05 15:01:02 +00:00
|
|
|
import useUser from "../src/core/hooks/useUser";
|
|
|
|
import useRouter from "../src/core/hooks/useRouter";
|
2021-11-04 16:15:42 +00:00
|
|
|
import { AWS_ASSETS_PATH, DEFAULT_METATAGS } from "../src/core/constants";
|
2021-11-01 13:55:29 +00:00
|
|
|
import TrustedBadge from "../src/components/TrustedBadge";
|
2021-11-08 11:58:29 +00:00
|
|
|
import RouteButton from "../src/components/RouteButton";
|
2022-05-06 16:32:01 +00:00
|
|
|
import MilestoneBox from "../src/components/MilestoneBox";
|
2022-02-21 11:48:48 +00:00
|
|
|
import mixpanel from "mixpanel-browser";
|
2022-04-11 10:10:33 +00:00
|
|
|
import { MIXPANEL_EVENTS } from "../src/core/providers/AnalyticsProvider/constants";
|
2022-05-17 03:25:00 +00:00
|
|
|
import RouterLink from "next/link";
|
2022-02-21 11:48:48 +00:00
|
|
|
|
2021-07-30 11:25:17 +00:00
|
|
|
const HEADING_PROPS = {
|
|
|
|
fontWeight: "700",
|
2022-02-21 11:48:48 +00:00
|
|
|
fontSize: ["4xl", "5xl", "5xl", "5xl", "6xl", "7xl"],
|
2021-07-30 11:25:17 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const assets = {
|
2021-08-24 12:28:17 +00:00
|
|
|
background720: `${AWS_ASSETS_PATH}/background720.png`,
|
|
|
|
background1920: `${AWS_ASSETS_PATH}/background720.png`,
|
|
|
|
background2880: `${AWS_ASSETS_PATH}/background720.png`,
|
|
|
|
background3840: `${AWS_ASSETS_PATH}/background720.png`,
|
|
|
|
cryptoTraders: `${AWS_ASSETS_PATH}/crypto+traders.png`,
|
2021-11-01 13:55:29 +00:00
|
|
|
cointelegraph: `${AWS_ASSETS_PATH}/featured_by/Cointelegraph_logo.png`,
|
2022-02-17 18:07:27 +00:00
|
|
|
educativesessions: `${AWS_ASSETS_PATH}/featured_by/educative_logo.png`,
|
2021-11-01 13:55:29 +00:00
|
|
|
cryptoinsiders: `${AWS_ASSETS_PATH}/featured_by/crypto_insiders.png`,
|
|
|
|
cryptoslate: `${AWS_ASSETS_PATH}/featured_by/cs-media-logo-light.png`,
|
2022-05-05 19:00:23 +00:00
|
|
|
cgcConference: `${AWS_ASSETS_PATH}/featured_by/cgc_conference_2022_logo.jpg`,
|
2022-03-15 17:15:50 +00:00
|
|
|
lender: `${AWS_ASSETS_PATH}/lender.png`,
|
2021-11-08 11:58:29 +00:00
|
|
|
DAO: `${AWS_ASSETS_PATH}/DAO .png`,
|
|
|
|
NFT: `${AWS_ASSETS_PATH}/NFT.png`,
|
2022-02-17 18:07:27 +00:00
|
|
|
bc101: `${AWS_ASSETS_PATH}/featured_by/blockchain101_logo.png`,
|
|
|
|
laguna: `${AWS_ASSETS_PATH}/featured_by/laguna_logo.svg`,
|
|
|
|
game7io: `${AWS_ASSETS_PATH}/featured_by/game7io_logo.png`,
|
|
|
|
orangedao: `${AWS_ASSETS_PATH}/featured_by/orangedao_logo.png`,
|
2022-02-21 11:48:48 +00:00
|
|
|
meetup: `${AWS_ASSETS_PATH}/featured_by/meetup_logo.png`,
|
2021-07-30 11:25:17 +00:00
|
|
|
};
|
2021-11-01 13:55:29 +00:00
|
|
|
|
2022-05-16 02:43:50 +00:00
|
|
|
const Feature = ({
|
|
|
|
title,
|
|
|
|
altText,
|
|
|
|
path,
|
|
|
|
mixpanel_url,
|
|
|
|
mixpanel_name,
|
|
|
|
image,
|
|
|
|
}) => {
|
2022-04-28 14:39:16 +00:00
|
|
|
return (
|
2022-05-17 03:25:00 +00:00
|
|
|
<RouterLink
|
2022-05-16 02:43:50 +00:00
|
|
|
href={path}
|
|
|
|
onClick={() => {
|
|
|
|
if (mixpanel.get_distinct_id()) {
|
|
|
|
mixpanel.track(`${MIXPANEL_EVENTS.BUTTON_CLICKED}`, {
|
|
|
|
full_url: mixpanel_url,
|
|
|
|
buttonName: mixpanel_name,
|
|
|
|
page: `landing`,
|
|
|
|
section: `features`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}}
|
2022-04-28 18:05:13 +00:00
|
|
|
>
|
2022-05-16 02:43:50 +00:00
|
|
|
<Stack
|
|
|
|
transition={"1s"}
|
|
|
|
spacing={1}
|
|
|
|
px={1}
|
|
|
|
alignItems="center"
|
|
|
|
borderRadius="12px"
|
|
|
|
borderColor="blue.700"
|
|
|
|
bgColor={"blue.800"}
|
|
|
|
borderWidth={"1px"}
|
|
|
|
_hover={{ transform: "scale(1.05)", transition: "0.42s" }}
|
|
|
|
cursor="pointer"
|
|
|
|
m={[2, 3, null, 4, 8, 12]}
|
|
|
|
pb={2}
|
|
|
|
>
|
|
|
|
<ChakraImage
|
|
|
|
boxSize={["220px", "220px", "xs", null, "xs"]}
|
|
|
|
objectFit="contain"
|
|
|
|
src={image}
|
|
|
|
alt={altText}
|
|
|
|
/>
|
|
|
|
<Heading textAlign="center" fontSize={["md", "md", "lg", "3xl", "4xl"]}>
|
|
|
|
{title}
|
|
|
|
</Heading>
|
|
|
|
</Stack>
|
2022-05-17 03:25:00 +00:00
|
|
|
</RouterLink>
|
2022-04-28 14:39:16 +00:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|
2021-07-30 11:25:17 +00:00
|
|
|
const Homepage = () => {
|
2021-08-02 11:42:31 +00:00
|
|
|
const [background, setBackground] = useState("background720");
|
|
|
|
const [backgroundLoaded720, setBackgroundLoaded720] = useState(false);
|
|
|
|
const [backgroundLoaded1920, setBackgroundLoaded1920] = useState(false);
|
|
|
|
const [backgroundLoaded2880, setBackgroundLoaded2880] = useState(false);
|
|
|
|
const [backgroundLoaded3840, setBackgroundLoaded3840] = useState(false);
|
2021-07-30 11:25:17 +00:00
|
|
|
|
2021-08-02 11:42:31 +00:00
|
|
|
const router = useRouter();
|
2021-07-30 11:25:17 +00:00
|
|
|
const { isInit } = useUser();
|
2021-08-02 11:42:31 +00:00
|
|
|
const [
|
|
|
|
isLargerThan720px,
|
|
|
|
isLargerThan1920px,
|
|
|
|
isLargerThan2880px,
|
|
|
|
isLargerThan3840px,
|
|
|
|
] = useMediaQuery([
|
|
|
|
"(min-width: 720px)",
|
|
|
|
"(min-width: 1920px)",
|
|
|
|
"(min-width: 2880px)",
|
|
|
|
"(min-width: 3840px)",
|
|
|
|
]);
|
2021-07-30 11:25:17 +00:00
|
|
|
|
2021-08-02 11:42:31 +00:00
|
|
|
useEffect(() => {
|
2021-08-24 12:28:17 +00:00
|
|
|
assets["background720"] = `${AWS_ASSETS_PATH}/background720.png`;
|
|
|
|
assets["background1920"] = `${AWS_ASSETS_PATH}/background1920.png`;
|
|
|
|
assets["background2880"] = `${AWS_ASSETS_PATH}/background2880.png`;
|
|
|
|
assets["background3840"] = `${AWS_ASSETS_PATH}/background3840.png`;
|
2021-08-02 11:42:31 +00:00
|
|
|
}, []);
|
2021-07-30 11:25:17 +00:00
|
|
|
|
2021-08-02 14:46:40 +00:00
|
|
|
useLayoutEffect(() => {
|
|
|
|
if (backgroundLoaded3840) {
|
2021-08-02 11:42:31 +00:00
|
|
|
setBackground("background3840");
|
2021-08-02 14:46:40 +00:00
|
|
|
} else if (backgroundLoaded2880) {
|
2021-08-02 11:42:31 +00:00
|
|
|
setBackground("background2880");
|
2021-08-02 14:46:40 +00:00
|
|
|
} else if (backgroundLoaded1920) {
|
2021-08-02 11:42:31 +00:00
|
|
|
setBackground("background1920");
|
|
|
|
} else {
|
|
|
|
setBackground("background720");
|
2021-07-30 11:25:17 +00:00
|
|
|
}
|
2021-08-02 11:42:31 +00:00
|
|
|
}, [
|
|
|
|
isLargerThan720px,
|
|
|
|
isLargerThan1920px,
|
|
|
|
isLargerThan2880px,
|
|
|
|
isLargerThan3840px,
|
|
|
|
backgroundLoaded720,
|
|
|
|
backgroundLoaded1920,
|
|
|
|
backgroundLoaded2880,
|
|
|
|
backgroundLoaded3840,
|
|
|
|
]);
|
2021-07-30 11:25:17 +00:00
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
if (
|
|
|
|
router.nextRouter.asPath !== "/" &&
|
|
|
|
router.nextRouter.asPath.slice(0, 2) !== "/?" &&
|
2021-08-05 09:49:18 +00:00
|
|
|
router.nextRouter.asPath.slice(0, 2) !== "/#" &&
|
|
|
|
router.nextRouter.asPath.slice(0, 11) !== "/index.html"
|
2021-07-30 11:25:17 +00:00
|
|
|
) {
|
2021-08-05 10:03:42 +00:00
|
|
|
console.warn("redirect attempt..");
|
|
|
|
if (typeof window !== "undefined") {
|
2021-08-05 11:15:57 +00:00
|
|
|
console.warn("window present:", window.location.pathname);
|
|
|
|
router.replace(router.nextRouter.asPath, router.nextRouter.asPath, {
|
|
|
|
shallow: false,
|
|
|
|
});
|
2021-08-05 10:03:42 +00:00
|
|
|
}
|
2021-07-30 11:25:17 +00:00
|
|
|
}
|
|
|
|
}, [isInit, router]);
|
|
|
|
|
2021-08-02 14:46:40 +00:00
|
|
|
useLayoutEffect(() => {
|
2021-08-02 11:42:31 +00:00
|
|
|
const imageLoader720 = new Image();
|
2021-08-24 12:28:17 +00:00
|
|
|
imageLoader720.src = `${AWS_ASSETS_PATH}/background720.png`;
|
2021-08-02 11:42:31 +00:00
|
|
|
imageLoader720.onload = () => {
|
|
|
|
setBackgroundLoaded720(true);
|
|
|
|
};
|
2021-08-02 14:46:40 +00:00
|
|
|
}, []);
|
2021-08-02 11:42:31 +00:00
|
|
|
|
2021-08-02 14:46:40 +00:00
|
|
|
useLayoutEffect(() => {
|
2021-08-02 11:42:31 +00:00
|
|
|
const imageLoader1920 = new Image();
|
2021-08-24 12:28:17 +00:00
|
|
|
imageLoader1920.src = `${AWS_ASSETS_PATH}/background1920.png`;
|
2021-08-02 11:42:31 +00:00
|
|
|
imageLoader1920.onload = () => {
|
|
|
|
setBackgroundLoaded1920(true);
|
|
|
|
};
|
2021-08-02 14:46:40 +00:00
|
|
|
}, []);
|
2021-08-02 11:42:31 +00:00
|
|
|
|
2021-08-02 14:46:40 +00:00
|
|
|
useLayoutEffect(() => {
|
2021-08-02 11:42:31 +00:00
|
|
|
const imageLoader2880 = new Image();
|
2021-08-24 12:28:17 +00:00
|
|
|
imageLoader2880.src = `${AWS_ASSETS_PATH}/background2880.png`;
|
2021-08-02 11:42:31 +00:00
|
|
|
imageLoader2880.onload = () => {
|
|
|
|
setBackgroundLoaded2880(true);
|
|
|
|
};
|
2021-08-02 14:46:40 +00:00
|
|
|
}, []);
|
2021-08-02 11:42:31 +00:00
|
|
|
|
2021-08-02 14:46:40 +00:00
|
|
|
useLayoutEffect(() => {
|
2021-08-02 11:42:31 +00:00
|
|
|
const imageLoader3840 = new Image();
|
2021-08-24 12:28:17 +00:00
|
|
|
imageLoader3840.src = `${AWS_ASSETS_PATH}/background3840.png`;
|
2021-08-02 11:42:31 +00:00
|
|
|
imageLoader3840.onload = () => {
|
|
|
|
setBackgroundLoaded3840(true);
|
|
|
|
};
|
|
|
|
}, []);
|
2022-05-05 19:00:23 +00:00
|
|
|
|
2021-07-30 11:25:17 +00:00
|
|
|
return (
|
2021-08-06 12:24:18 +00:00
|
|
|
<Suspense fallback="">
|
|
|
|
<Fade in>
|
|
|
|
<Box
|
|
|
|
width="100%"
|
|
|
|
flexDirection="column"
|
|
|
|
sx={{ scrollBehavior: "smooth" }}
|
|
|
|
bgSize="cover"
|
2022-04-07 11:30:02 +00:00
|
|
|
id="page:landing"
|
2022-04-28 11:35:39 +00:00
|
|
|
bgColor={"blue.50"}
|
2021-07-30 11:25:17 +00:00
|
|
|
>
|
2021-08-06 12:24:18 +00:00
|
|
|
<Flex
|
|
|
|
direction="column"
|
|
|
|
h="auto"
|
|
|
|
position="relative"
|
|
|
|
w="100%"
|
|
|
|
overflow="initial"
|
|
|
|
pt={0}
|
2021-08-02 11:42:31 +00:00
|
|
|
>
|
2021-08-06 12:24:18 +00:00
|
|
|
<Suspense fallback={""}></Suspense>
|
|
|
|
|
|
|
|
<Grid
|
|
|
|
templateColumns="repeat(12,1fr)"
|
2021-08-02 11:42:31 +00:00
|
|
|
mt={0}
|
2021-08-06 12:24:18 +00:00
|
|
|
border="none"
|
|
|
|
boxSizing="content-box"
|
2021-08-02 11:42:31 +00:00
|
|
|
>
|
2021-08-06 12:24:18 +00:00
|
|
|
<GridItem
|
|
|
|
mt={0}
|
2022-04-28 11:35:39 +00:00
|
|
|
mb={0}
|
2021-08-06 12:24:18 +00:00
|
|
|
px="0"
|
|
|
|
colSpan="12"
|
|
|
|
minH="100vh"
|
2022-04-28 11:35:39 +00:00
|
|
|
bgColor={"blue.50"}
|
|
|
|
id="Header grid item"
|
2021-08-06 12:24:18 +00:00
|
|
|
>
|
2022-04-28 11:35:39 +00:00
|
|
|
<chakra.header boxSize="full" minH="100vh" mb={0}>
|
2021-08-06 12:24:18 +00:00
|
|
|
<Box
|
|
|
|
bgPos="bottom"
|
|
|
|
bgColor="transparent"
|
|
|
|
backgroundImage={`url(${assets[`${background}`]})`}
|
|
|
|
bgSize="cover"
|
|
|
|
boxSize="full"
|
|
|
|
minH="100vh"
|
|
|
|
>
|
|
|
|
<Flex align="center" justify="center" boxSize="full">
|
|
|
|
<Stack
|
|
|
|
textAlign="center"
|
|
|
|
alignItems="center"
|
|
|
|
spacing={6}
|
2021-08-19 12:48:17 +00:00
|
|
|
maxW={["1620px", null, null, null, "1620px", "2222px"]}
|
2021-11-01 13:55:29 +00:00
|
|
|
w="100%"
|
2021-08-06 12:24:18 +00:00
|
|
|
px="7%"
|
|
|
|
h="100%"
|
|
|
|
pt={["10vh", null, "20vh"]}
|
2021-07-30 11:25:17 +00:00
|
|
|
>
|
2021-08-19 12:48:17 +00:00
|
|
|
<Heading
|
|
|
|
fontSize={["lg", "4xl", "5xl", "5xl", "5xl", "6xl"]}
|
|
|
|
fontWeight="semibold"
|
|
|
|
color="white"
|
|
|
|
>
|
2022-05-05 15:35:42 +00:00
|
|
|
Build a Sustainable Game Economy in only a few clicks
|
2021-08-06 12:24:18 +00:00
|
|
|
</Heading>
|
|
|
|
<chakra.span
|
2022-05-06 16:32:01 +00:00
|
|
|
pt={4}
|
|
|
|
pb={4}
|
2021-08-06 12:24:18 +00:00
|
|
|
my={12}
|
2022-05-06 16:32:01 +00:00
|
|
|
fontSize={["md", "lg", "xl", "2xl", "3xl", "3xl"]}
|
2021-08-06 12:24:18 +00:00
|
|
|
display="inline-block"
|
2022-05-06 16:32:01 +00:00
|
|
|
color="white"
|
2021-08-06 12:24:18 +00:00
|
|
|
>
|
2022-05-05 15:35:42 +00:00
|
|
|
Moonstream Engine empowers web3 game designers to grow
|
|
|
|
healthy economies. Moonstream smart contracts and APIs
|
|
|
|
allow you to integrate our game mechanics with zero
|
|
|
|
effort.
|
2022-02-17 18:07:27 +00:00
|
|
|
</chakra.span>
|
2022-05-12 12:31:25 +00:00
|
|
|
<RouteButton
|
|
|
|
variant="orangeAndBlue"
|
2022-05-17 03:25:00 +00:00
|
|
|
minW={[
|
|
|
|
"200px",
|
|
|
|
"250px",
|
|
|
|
"250px",
|
|
|
|
"300px",
|
|
|
|
"350px",
|
|
|
|
"400px",
|
|
|
|
]}
|
|
|
|
fontSize={["lg", "xl", "2xl", "3xl", "4xl", "4xl"]}
|
2022-05-12 12:31:25 +00:00
|
|
|
onClick={() => {
|
|
|
|
if (mixpanel.get_distinct_id()) {
|
|
|
|
mixpanel.track(
|
|
|
|
`${MIXPANEL_EVENTS.BUTTON_CLICKED}`,
|
|
|
|
{
|
|
|
|
full_url: router.nextRouter.asPath,
|
|
|
|
buttonName: `Join our Discord`,
|
|
|
|
page: `landing`,
|
|
|
|
section: `front-and-center`,
|
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
href={"/discordleed"}
|
|
|
|
isExternal
|
|
|
|
>
|
|
|
|
Join our Discord
|
|
|
|
</RouteButton>
|
2021-08-06 12:24:18 +00:00
|
|
|
</Stack>
|
|
|
|
</Flex>
|
|
|
|
</Box>
|
|
|
|
</chakra.header>
|
|
|
|
</GridItem>
|
2021-07-30 11:25:17 +00:00
|
|
|
|
2022-04-28 11:35:39 +00:00
|
|
|
<GridItem
|
|
|
|
px="7%"
|
|
|
|
py={["98px", "128px", null]}
|
|
|
|
colSpan="12"
|
|
|
|
bgColor="white.100"
|
2022-05-06 16:32:01 +00:00
|
|
|
minH="100vh"
|
2022-04-28 11:35:39 +00:00
|
|
|
>
|
2022-05-06 16:32:01 +00:00
|
|
|
<VStack align="center" justify="center" boxSize="full">
|
|
|
|
<Heading
|
|
|
|
fontSize={["lg", "4xl", "5xl", "5xl", "5xl", "6xl"]}
|
|
|
|
fontWeight="semibold"
|
|
|
|
>
|
|
|
|
Major Milestones
|
|
|
|
</Heading>
|
|
|
|
<Flex wrap="wrap" direction="row" justifyContent="center">
|
|
|
|
<MilestoneBox headingText="$3B transaction volume" />
|
|
|
|
<MilestoneBox headingText="22,000 active users" />
|
|
|
|
</Flex>
|
|
|
|
<Text
|
|
|
|
textAlign="center"
|
|
|
|
fontSize={["md", "xl", "2xl", "3xl", "3xl", "3xl"]}
|
|
|
|
>
|
|
|
|
And growing...
|
|
|
|
</Text>
|
|
|
|
<chakra.h2
|
|
|
|
fontSize={{ base: "3xl", sm: "2xl" }}
|
|
|
|
textAlign="center"
|
|
|
|
pb={4}
|
|
|
|
pt={16}
|
|
|
|
fontWeight="bold"
|
|
|
|
>
|
|
|
|
Trusted by{" "}
|
|
|
|
</chakra.h2>
|
|
|
|
<Flex wrap="wrap" direction="row" justifyContent="center">
|
|
|
|
<Suspense fallback={""}>
|
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="Laguna games"
|
|
|
|
caseURL=""
|
|
|
|
ImgURL={assets["laguna"]}
|
|
|
|
boxURL="https://laguna.games/"
|
|
|
|
bgColor="blue.900"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="game7io"
|
|
|
|
ImgURL={assets["game7io"]}
|
|
|
|
boxURL="https://game7.io/"
|
|
|
|
bgColor="blue.900"
|
|
|
|
/>
|
2022-04-28 11:35:39 +00:00
|
|
|
|
2022-05-06 16:32:01 +00:00
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="orangedao"
|
|
|
|
ImgURL={assets["orangedao"]}
|
|
|
|
boxURL="https://lfg.orangedao.xyz/"
|
|
|
|
bgColor="blue.900"
|
|
|
|
/>
|
|
|
|
</Suspense>
|
|
|
|
</Flex>
|
|
|
|
</VStack>
|
2022-04-28 11:35:39 +00:00
|
|
|
</GridItem>
|
|
|
|
<GridItem
|
2022-04-28 18:05:13 +00:00
|
|
|
px={["7%", null, "12%", "15%"]}
|
2022-04-28 14:39:16 +00:00
|
|
|
colSpan="12"
|
2022-04-28 18:05:13 +00:00
|
|
|
pt={24}
|
2022-04-28 14:39:16 +00:00
|
|
|
minH="100vh"
|
|
|
|
bgColor={"blue.900"}
|
|
|
|
textColor="white"
|
|
|
|
>
|
2022-05-06 16:32:01 +00:00
|
|
|
<Heading
|
|
|
|
{...HEADING_PROPS}
|
|
|
|
textAlign="center"
|
|
|
|
pb={[3, 12, null]}
|
|
|
|
pt={0}
|
|
|
|
>
|
2022-05-05 15:35:42 +00:00
|
|
|
Features
|
|
|
|
</Heading>
|
2022-04-28 18:05:13 +00:00
|
|
|
<Grid
|
|
|
|
templateColumns={{
|
|
|
|
base: "repeat(1, 1fr)",
|
|
|
|
sm: "repeat(1, 1fr)",
|
|
|
|
md: "repeat(2, 1fr)",
|
|
|
|
}}
|
|
|
|
gap={4}
|
2022-02-17 18:07:27 +00:00
|
|
|
>
|
2022-04-28 18:05:13 +00:00
|
|
|
<GridItem>
|
2022-05-05 15:35:42 +00:00
|
|
|
<Flex>
|
|
|
|
<chakra.span
|
|
|
|
fontSize={["md", "2xl", "3xl", "3xl", "3xl", "4xl"]}
|
|
|
|
display="inline-block"
|
2022-05-06 16:32:01 +00:00
|
|
|
color="white"
|
2022-02-21 11:48:48 +00:00
|
|
|
>
|
2022-05-05 15:35:42 +00:00
|
|
|
Lootboxes, crafting recipes, deck building, you name it!
|
2022-05-06 16:32:01 +00:00
|
|
|
<br />
|
2022-05-06 17:19:46 +00:00
|
|
|
<br />
|
2022-05-05 15:35:42 +00:00
|
|
|
With Moonstream Engine you can deploy on-chain mechanics
|
2022-05-06 16:32:01 +00:00
|
|
|
with one click.
|
|
|
|
<br />
|
2022-05-06 17:19:46 +00:00
|
|
|
<br />
|
2022-05-06 16:32:01 +00:00
|
|
|
Read our Use Cases or explore the features to know more.
|
2022-05-05 15:35:42 +00:00
|
|
|
</chakra.span>
|
|
|
|
</Flex>
|
|
|
|
</GridItem>
|
|
|
|
<GridItem>
|
|
|
|
<Center w="100%" h="100%">
|
2022-04-28 18:05:13 +00:00
|
|
|
<RouteButton
|
2022-05-06 16:32:01 +00:00
|
|
|
variant="orangeAndBlue"
|
2022-05-17 03:25:00 +00:00
|
|
|
minW={[
|
|
|
|
"200px",
|
|
|
|
"250px",
|
|
|
|
"250px",
|
|
|
|
"300px",
|
|
|
|
"350px",
|
|
|
|
"400px",
|
|
|
|
]}
|
|
|
|
fontSize={["lg", "xl", "2xl", "3xl", "4xl", "4xl"]}
|
2022-04-28 18:05:13 +00:00
|
|
|
px={[4, 4, 4, 8, 8]}
|
|
|
|
onClick={() => {
|
|
|
|
if (mixpanel.get_distinct_id()) {
|
2022-05-05 19:00:23 +00:00
|
|
|
mixpanel.track(
|
|
|
|
`${MIXPANEL_EVENTS.BUTTON_CLICKED}`,
|
|
|
|
{
|
|
|
|
full_url: router.nextRouter.asPath,
|
|
|
|
buttonName: `Explore the Use Cases`,
|
|
|
|
page: `landing`,
|
|
|
|
section: `Dive into Engine Features`,
|
|
|
|
}
|
|
|
|
);
|
2022-04-28 18:05:13 +00:00
|
|
|
}
|
|
|
|
}}
|
|
|
|
href="https://docs.google.com/document/d/1mjfF8SgRrAZvtCVVxB2qNSUcbbmrH6dTEYSMfHKdEgc/preview"
|
2022-05-05 15:35:42 +00:00
|
|
|
isExternal
|
2022-02-21 11:48:48 +00:00
|
|
|
>
|
2022-05-05 15:35:42 +00:00
|
|
|
Explore the Use Cases
|
2022-04-28 18:05:13 +00:00
|
|
|
</RouteButton>
|
2022-05-05 15:35:42 +00:00
|
|
|
</Center>
|
2022-02-17 18:07:27 +00:00
|
|
|
</GridItem>
|
2022-04-28 18:05:13 +00:00
|
|
|
</Grid>
|
|
|
|
<SimpleGrid
|
|
|
|
columns={[1, 2, 2, 4, null, 4]}
|
|
|
|
justifyContent="center"
|
|
|
|
w="100%"
|
|
|
|
placeContent={"space-between"}
|
2022-05-05 19:00:23 +00:00
|
|
|
mx={[0, -2, -4]}
|
2022-05-06 16:32:01 +00:00
|
|
|
paddingTop="20px"
|
2022-04-28 18:05:13 +00:00
|
|
|
>
|
|
|
|
<Feature
|
2022-05-16 02:43:50 +00:00
|
|
|
title="Lootboxes"
|
|
|
|
altText="Lootboxes"
|
|
|
|
path="/features/#lootboxes"
|
|
|
|
mixpanel_name="lootboxes"
|
|
|
|
mixpanel_url={router.nextRouter.asPath}
|
2022-04-28 18:05:13 +00:00
|
|
|
image={assets["cryptoTraders"]}
|
|
|
|
/>
|
|
|
|
<Feature
|
2022-05-16 02:43:50 +00:00
|
|
|
title="Crafting Recipes"
|
|
|
|
altText="Crafting Recipes"
|
|
|
|
path="/features/#crafting"
|
|
|
|
mixpanel_name="crafting"
|
|
|
|
mixpanel_url={router.nextRouter.asPath}
|
2022-04-28 18:05:13 +00:00
|
|
|
image={assets["NFT"]}
|
|
|
|
/>
|
|
|
|
<Feature
|
2022-05-16 02:43:50 +00:00
|
|
|
title="Minigames"
|
|
|
|
altText="Minigames"
|
|
|
|
path="/features/#minigames"
|
|
|
|
mixpanel_name="minigames"
|
|
|
|
mixpanel_url={router.nextRouter.asPath}
|
2022-05-05 19:00:23 +00:00
|
|
|
image={assets["DAO"]}
|
2022-04-28 18:05:13 +00:00
|
|
|
/>
|
|
|
|
<Feature
|
2022-05-16 02:43:50 +00:00
|
|
|
title="Airdrops"
|
|
|
|
altText="Airdrops"
|
|
|
|
path="/features/#airdrops"
|
|
|
|
mixpanel_name="airdrops"
|
|
|
|
mixpanel_url={router.nextRouter.asPath}
|
2022-05-05 19:00:23 +00:00
|
|
|
image={assets["lender"]}
|
2022-04-28 18:05:13 +00:00
|
|
|
/>
|
2021-08-06 12:24:18 +00:00
|
|
|
</SimpleGrid>
|
2022-04-28 18:05:13 +00:00
|
|
|
</GridItem>
|
2022-02-17 18:07:27 +00:00
|
|
|
<GridItem
|
2022-05-06 16:32:01 +00:00
|
|
|
px={["7%", null, "12%", "15%"]}
|
2022-03-24 16:11:09 +00:00
|
|
|
py={["98px", "128px", null]}
|
2022-02-17 18:07:27 +00:00
|
|
|
colSpan="12"
|
2022-04-28 11:35:39 +00:00
|
|
|
bgColor="white.100"
|
2022-05-06 16:32:01 +00:00
|
|
|
minH="100vh"
|
2022-05-05 15:35:42 +00:00
|
|
|
>
|
|
|
|
<Heading {...HEADING_PROPS} textAlign="center" pb={14} pt={0}>
|
|
|
|
Our Workflow
|
|
|
|
</Heading>
|
2022-05-05 19:00:23 +00:00
|
|
|
<HStack alignItems="top" py={5}>
|
|
|
|
<Flex height="100%" width="25%">
|
2022-05-06 16:32:01 +00:00
|
|
|
<Heading
|
|
|
|
as="h2"
|
|
|
|
fontSize={["lg", "3xl", "4xl", "4xl", "4xl", "5xl"]}
|
2022-05-05 19:00:23 +00:00
|
|
|
display="inline-block"
|
2022-05-06 16:32:01 +00:00
|
|
|
fontWeight="semibold"
|
2022-05-05 15:35:42 +00:00
|
|
|
>
|
|
|
|
Step 1:
|
2022-05-06 16:32:01 +00:00
|
|
|
</Heading>
|
2022-05-05 15:35:42 +00:00
|
|
|
</Flex>
|
2022-05-05 19:00:23 +00:00
|
|
|
<Flex height="100%" width="75%">
|
2022-05-05 15:35:42 +00:00
|
|
|
<chakra.span
|
|
|
|
fontSize={["md", "2xl", "3xl", "3xl", "3xl", "4xl"]}
|
|
|
|
display="inline-block"
|
|
|
|
>
|
|
|
|
So you decided to build a healthy economy on the
|
|
|
|
blockchain. You are on the right path, traveler!
|
|
|
|
</chakra.span>
|
|
|
|
</Flex>
|
|
|
|
</HStack>
|
2022-05-05 19:00:23 +00:00
|
|
|
<HStack alignItems="top" py={5}>
|
2022-05-05 15:35:42 +00:00
|
|
|
<Flex bgColor="grey.100" width="25%" height="100%">
|
2022-05-06 16:32:01 +00:00
|
|
|
<Heading
|
|
|
|
as="h2"
|
|
|
|
fontSize={["lg", "3xl", "4xl", "4xl", "4xl", "5xl"]}
|
|
|
|
display="inline-block"
|
|
|
|
fontWeight="semibold"
|
2022-05-05 15:35:42 +00:00
|
|
|
>
|
|
|
|
Step 2:
|
2022-05-06 16:32:01 +00:00
|
|
|
</Heading>
|
2022-05-05 15:35:42 +00:00
|
|
|
</Flex>
|
|
|
|
<Flex width="75%">
|
|
|
|
<chakra.span
|
|
|
|
fontSize={["md", "2xl", "3xl", "3xl", "3xl", "4xl"]}
|
|
|
|
display="inline-block"
|
|
|
|
>
|
2022-05-05 19:00:23 +00:00
|
|
|
<Link href="/discordleed" isExternal>
|
2022-05-12 12:31:25 +00:00
|
|
|
<Text
|
|
|
|
as="u"
|
|
|
|
display="inline"
|
|
|
|
fontWeight="semibold"
|
|
|
|
onClick={() => {
|
|
|
|
if (mixpanel.get_distinct_id()) {
|
|
|
|
mixpanel.track(
|
|
|
|
`${MIXPANEL_EVENTS.BUTTON_CLICKED}`,
|
|
|
|
{
|
|
|
|
full_url: router.nextRouter.asPath,
|
|
|
|
buttonName: `Join our Discord`,
|
|
|
|
page: `landing`,
|
2022-05-18 15:57:04 +00:00
|
|
|
section: `inline-text`,
|
2022-05-12 12:31:25 +00:00
|
|
|
}
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
Join our Discord
|
|
|
|
</Text>
|
2022-05-05 19:00:23 +00:00
|
|
|
</Link>{" "}
|
|
|
|
to get in touch with the team (@zomglings). Tell us about
|
|
|
|
your game and schedule a call if needed.
|
2022-05-05 15:35:42 +00:00
|
|
|
</chakra.span>
|
|
|
|
</Flex>
|
|
|
|
</HStack>
|
2022-05-05 19:00:23 +00:00
|
|
|
<HStack alignItems="top" py={5}>
|
2022-05-05 15:35:42 +00:00
|
|
|
<Flex bgColor="grey.100" width="25%" height="100%">
|
2022-05-06 16:32:01 +00:00
|
|
|
<Heading
|
|
|
|
as="h2"
|
|
|
|
fontSize={["lg", "3xl", "4xl", "4xl", "4xl", "5xl"]}
|
|
|
|
display="inline-block"
|
|
|
|
fontWeight="semibold"
|
2022-05-05 15:35:42 +00:00
|
|
|
>
|
|
|
|
Step 3:
|
2022-05-06 16:32:01 +00:00
|
|
|
</Heading>
|
2022-05-05 15:35:42 +00:00
|
|
|
</Flex>
|
|
|
|
<Flex width="75%">
|
|
|
|
<chakra.span
|
|
|
|
fontSize={["md", "2xl", "3xl", "3xl", "3xl", "4xl"]}
|
|
|
|
display="inline-block"
|
|
|
|
>
|
|
|
|
Pick game mechanics that you'd like to deploy.
|
|
|
|
Moonstream Engine provides you with back-end tools to put
|
|
|
|
them on the blockchain.
|
|
|
|
<br />
|
2022-05-06 16:32:01 +00:00
|
|
|
<br />
|
2022-05-05 15:35:42 +00:00
|
|
|
You're at the end of your development journey now,
|
|
|
|
traveler. Time to watch your game economy grow!
|
|
|
|
</chakra.span>
|
|
|
|
</Flex>
|
|
|
|
</HStack>
|
|
|
|
</GridItem>
|
|
|
|
<GridItem
|
|
|
|
px="7%"
|
|
|
|
py={["98px", "128px", null]}
|
|
|
|
colSpan="12"
|
|
|
|
bgColor="blue.900"
|
|
|
|
textColor="white"
|
2022-05-06 16:32:01 +00:00
|
|
|
minH="100vh"
|
2022-02-17 18:07:27 +00:00
|
|
|
>
|
|
|
|
<Heading {...HEADING_PROPS} textAlign="center" pb={14} pt={0}>
|
|
|
|
Featured by{" "}
|
|
|
|
</Heading>
|
2022-05-05 19:00:23 +00:00
|
|
|
<Center>
|
|
|
|
<Flex
|
2022-05-06 16:32:01 +00:00
|
|
|
width="81%"
|
2022-05-05 19:00:23 +00:00
|
|
|
wrap="wrap"
|
|
|
|
direction="row"
|
|
|
|
justifyContent="center"
|
|
|
|
bgColor="white"
|
|
|
|
>
|
|
|
|
<Suspense fallback={""}>
|
|
|
|
<TrustedBadge
|
|
|
|
name="cointelegraph"
|
|
|
|
caseURL=""
|
|
|
|
ImgURL={assets["cointelegraph"]}
|
|
|
|
boxURL="https://cointelegraph.com/news/17-of-addresses-snapped-up-80-of-all-ethereum-nfts-since-april"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
name="CryptoInsiders"
|
|
|
|
ImgURL={assets["cryptoinsiders"]}
|
|
|
|
boxURL="https://www.crypto-insiders.nl/nieuws/altcoin/17-van-ethereum-whales-bezitten-meer-dan-80-van-alle-nfts-op-de-blockchain/"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
name="cryptoslate"
|
|
|
|
ImgURL={assets["cryptoslate"]}
|
|
|
|
boxURL="https://cryptoslate.com/should-investors-care-80-of-all-nfts-belong-to-17-of-addresses/"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
name="educative sessions"
|
|
|
|
scale={1.5}
|
|
|
|
ImgURL={assets["educativesessions"]}
|
|
|
|
boxURL="https://youtu.be/DN8zRzJuy0M"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="bc101"
|
|
|
|
ImgURL={assets["bc101"]}
|
|
|
|
boxURL="https://blockchain101.com/"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="bc101"
|
|
|
|
ImgURL={assets["meetup"]}
|
|
|
|
boxURL="https://www.meetup.com/SF-Bay-Area-Data-Science-Initiative/events/283215538/"
|
|
|
|
/>
|
|
|
|
<TrustedBadge
|
|
|
|
scale={1.5}
|
|
|
|
name="cgc2022"
|
|
|
|
ImgURL={assets["cgcConference"]}
|
|
|
|
boxURL="https://www.cgc.one/"
|
|
|
|
/>
|
|
|
|
</Suspense>
|
|
|
|
</Flex>
|
|
|
|
</Center>
|
2022-02-17 18:07:27 +00:00
|
|
|
</GridItem>
|
2022-04-22 09:30:05 +00:00
|
|
|
<GridItem
|
2022-04-28 18:05:13 +00:00
|
|
|
px={["7%", null, "12%", "15%"]}
|
2022-04-22 09:30:05 +00:00
|
|
|
py={["98px", "128px", null]}
|
|
|
|
colSpan="12"
|
2022-05-05 19:00:23 +00:00
|
|
|
bgColor="white"
|
2022-05-06 16:32:01 +00:00
|
|
|
minH="100vh"
|
2022-04-22 09:30:05 +00:00
|
|
|
>
|
|
|
|
<Flex
|
2022-04-28 18:05:13 +00:00
|
|
|
w="100%"
|
2022-04-22 09:30:05 +00:00
|
|
|
alignItems="center"
|
|
|
|
justifyContent="center"
|
2022-04-28 18:05:13 +00:00
|
|
|
direction={["column", "column", "row"]}
|
|
|
|
maxW="1024px"
|
2022-04-22 09:30:05 +00:00
|
|
|
>
|
2022-05-06 16:32:01 +00:00
|
|
|
<chakra.span
|
|
|
|
display="block"
|
|
|
|
my={12}
|
|
|
|
fontSize={["md", "2xl", "3xl", "3xl", "3xl", "4xl"]}
|
|
|
|
textAlign={["justify", "left", null]}
|
2022-04-22 09:30:05 +00:00
|
|
|
mr={[0, 12, 14]}
|
|
|
|
letterSpacing="tight"
|
|
|
|
>
|
2022-05-06 16:32:01 +00:00
|
|
|
{`Contact us on Discord to discuss your project and keep up with the latest updates on Moonstream Engine.`}
|
|
|
|
</chakra.span>
|
2022-04-28 18:05:13 +00:00
|
|
|
|
2022-05-12 12:31:25 +00:00
|
|
|
<RouteButton
|
|
|
|
variant="orangeAndBlue"
|
2022-05-17 03:25:00 +00:00
|
|
|
minW={[
|
|
|
|
"200px",
|
|
|
|
"250px",
|
|
|
|
"250px",
|
|
|
|
"300px",
|
|
|
|
"350px",
|
|
|
|
"400px",
|
|
|
|
]}
|
|
|
|
fontSize={["lg", "xl", "2xl", "3xl", "4xl", "4xl"]}
|
2022-05-12 12:31:25 +00:00
|
|
|
onClick={() => {
|
|
|
|
if (mixpanel.get_distinct_id()) {
|
|
|
|
mixpanel.track(`${MIXPANEL_EVENTS.BUTTON_CLICKED}`, {
|
|
|
|
full_url: router.nextRouter.asPath,
|
|
|
|
buttonName: `Join our Discord`,
|
|
|
|
page: `landing`,
|
|
|
|
section: `bottom-line`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}}
|
|
|
|
href={"/discordleed"}
|
|
|
|
isExternal
|
|
|
|
>
|
|
|
|
Join our Discord
|
|
|
|
</RouteButton>
|
2022-04-22 09:30:05 +00:00
|
|
|
</Flex>
|
|
|
|
</GridItem>
|
2021-08-06 12:24:18 +00:00
|
|
|
</Grid>
|
|
|
|
</Flex>
|
|
|
|
</Box>
|
|
|
|
</Fade>
|
|
|
|
</Suspense>
|
2021-07-30 11:25:17 +00:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export async function getStaticProps() {
|
|
|
|
const assetPreload = Object.keys(assets).map((key) => {
|
|
|
|
return {
|
|
|
|
rel: "preload",
|
|
|
|
href: assets[key],
|
|
|
|
as: "image",
|
|
|
|
};
|
|
|
|
});
|
2021-08-02 12:49:09 +00:00
|
|
|
const preconnects = [{ rel: "preconnect", href: "https://s3.amazonaws.com" }];
|
2021-07-30 11:25:17 +00:00
|
|
|
|
|
|
|
const preloads = assetPreload.concat(preconnects);
|
|
|
|
|
|
|
|
return {
|
2021-11-04 16:15:42 +00:00
|
|
|
props: { metaTags: DEFAULT_METATAGS, preloads },
|
2021-07-30 11:25:17 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Homepage;
|