aboutsummaryrefslogtreecommitdiffstats
path: root/packages/website/ts/@next/components/sections
diff options
context:
space:
mode:
Diffstat (limited to 'packages/website/ts/@next/components/sections')
-rw-r--r--packages/website/ts/@next/components/sections/landing/about.tsx106
-rw-r--r--packages/website/ts/@next/components/sections/landing/clients.tsx78
-rw-r--r--packages/website/ts/@next/components/sections/landing/cta.tsx63
-rw-r--r--packages/website/ts/@next/components/sections/landing/hero.tsx39
4 files changed, 286 insertions, 0 deletions
diff --git a/packages/website/ts/@next/components/sections/landing/about.tsx b/packages/website/ts/@next/components/sections/landing/about.tsx
new file mode 100644
index 000000000..42062a2e1
--- /dev/null
+++ b/packages/website/ts/@next/components/sections/landing/about.tsx
@@ -0,0 +1,106 @@
+import * as React from 'react';
+import {Button, ButtonWrap, Link} from 'ts/@next/components/button';
+import {Icon, InlineIconWrap} from 'ts/@next/components/icon';
+import {Column, Section, Wrap, WrapCentered, WrapGrid} from 'ts/@next/components/layout';
+import {Heading, Paragraph} from 'ts/@next/components/text';
+import {colors} from 'ts/style/colors';
+
+export const SectionLandingAbout = () => (
+ <Section bgColor={colors.backgroundDark} isPadLarge={true}>
+ <WrapCentered width="narrow">
+ <InlineIconWrap>
+ <Icon name="coin" size="small" />
+ <Icon name="coin" size="small" />
+ <Icon name="coin" size="small" />
+ <Icon name="coin" size="small" />
+ </InlineIconWrap>
+
+ <Paragraph
+ size="large"
+ isCentered={true}
+ padding={['large', 0, 'default', 0]}
+ >
+ 0x is an open protocol that enables the peer-to-peer exchange of Ethereum-based
+ tokens. Anyone in the world can use 0x to service a wide variety of markets
+ ranging from gaming items to financial instruments to assets that could have
+ near existed before.
+ </Paragraph>
+
+ <Link
+ href="#"
+ isTransparent={true}
+ isWithArrow={true}
+ isAccentColor={true}
+ >
+ Discover how developers use 0x
+ </Link>
+
+ <hr
+ style={{
+ width: '340px',
+ margin: '0 auto',
+ borderColor: '#3C4746',
+ marginTop: '60px auto 0 auto',
+ }}
+ />
+ </WrapCentered>
+
+ {/* Note you can also pass in a string "large/default" or a number for custom margins */}
+ <Wrap padding={['large', 0, 0, 0]}>
+ {/* NOTE: this probably should be withComponent as part of a <dl> */}
+ <Column colWidth="1/3" isNoPadding={true}>
+ <Heading
+ size="medium"
+ isCentered={true}
+ isNoMargin={true}
+ >
+ 873,435
+ </Heading>
+
+ <Paragraph
+ isMuted={0.4}
+ isCentered={true}
+ isNoMargin={true}
+ >
+ Number of transactions
+ </Paragraph>
+ </Column>
+
+ <Column colWidth="1/3" isNoPadding={true}>
+ <Heading
+ size="medium"
+ isCentered={true}
+ isNoMargin={true}
+ >
+ $203M
+ </Heading>
+
+ <Paragraph
+ isMuted={0.4}
+ isCentered={true}
+ isNoMargin={true}
+ >
+ Total volume
+ </Paragraph>
+ </Column>
+
+ <Column colWidth="1/3" isNoPadding={true}>
+ <Heading
+ size="medium"
+ isCentered={true}
+ isNoMargin={true}
+ >
+ 227,372
+ </Heading>
+
+ <Paragraph
+ isMuted={0.4}
+ isCentered={true}
+ isNoMargin={true}
+ >
+ Number of relayers
+ </Paragraph>
+ </Column>
+ </Wrap>
+ </Section>
+);
diff --git a/packages/website/ts/@next/components/sections/landing/clients.tsx b/packages/website/ts/@next/components/sections/landing/clients.tsx
new file mode 100644
index 000000000..c08a4ea48
--- /dev/null
+++ b/packages/website/ts/@next/components/sections/landing/clients.tsx
@@ -0,0 +1,78 @@
+import * as _ from 'lodash';
+import * as React from 'react';
+import styled from 'styled-components';
+import {Section, Wrap, WrapCentered, WrapGrid} from 'ts/@next/components/layout';
+import {Heading, Paragraph} from 'ts/@next/components/text';
+
+interface ProjectLogo {
+ name: string;
+ imageUrl?: string;
+}
+
+const projects: ProjectLogo[] = [
+ {
+ name: 'Radar Relay',
+ imageUrl: '/images/@next/relayer-logos/logo_1.png',
+ },
+ {
+ name: 'Paradex',
+ imageUrl: '/images/@next/relayer-logos/logo_5.png',
+ },
+ {
+ name: 'Amadeus',
+ imageUrl: '/images/@next/relayer-logos/logo_3.png',
+ },
+ {
+ name: 'The Ocean X',
+ imageUrl: '/images/@next/relayer-logos/logo_4.png',
+ },
+ {
+ name: 'Paradex',
+ imageUrl: '/images/@next/relayer-logos/logo_5.png',
+ },
+ {
+ name: 'Decent EX',
+ imageUrl: '/images/@next/relayer-logos/logo_2.1.png',
+ },
+ {
+ name: 'dEX',
+ imageUrl: '/images/@next/relayer-logos/logo_2.2.png',
+ },
+ {
+ name: 'OpenRelay',
+ imageUrl: '/images/@next/relayer-logos/logo_2.3.png',
+ },
+ {
+ name: 'DDEX',
+ imageUrl: '/images/@next/relayer-logos/logo_2.png',
+ },
+];
+
+export const SectionLandingClients = () => (
+ <Section isPadLarge={true}>
+ <WrapCentered>
+ <Heading size="small">You're in good company</Heading>
+ </WrapCentered>
+
+ <WrapGrid width="narrow" isWrapped={true}>
+ {_.map(projects, (item: ProjectLogo, index) => (
+ <StyledProject key={`client-${index}`}>
+ <img src={item.imageUrl} alt={item.name} />
+ </StyledProject>
+ ))}
+ </WrapGrid>
+ </Section>
+);
+
+const StyledProject = styled.div`
+ width: 90px;
+ height: 90px;
+ flex-shrink: 0;
+ margin: 30px;
+
+ img {
+ object-fit: contain;
+ width: 100%;
+ height: 100%;
+ }
+`;
diff --git a/packages/website/ts/@next/components/sections/landing/cta.tsx b/packages/website/ts/@next/components/sections/landing/cta.tsx
new file mode 100644
index 000000000..2f853f95b
--- /dev/null
+++ b/packages/website/ts/@next/components/sections/landing/cta.tsx
@@ -0,0 +1,63 @@
+import * as React from 'react';
+import {Button, ButtonWrap, Link} from 'ts/@next/components/button';
+import {Icon, InlineIconWrap} from 'ts/@next/components/icon';
+import {Column, Section, Wrap, WrapCentered, WrapGrid} from 'ts/@next/components/layout';
+import {Heading, Paragraph} from 'ts/@next/components/text';
+
+export const SectionLandingCta = () => (
+ <Section>
+ <Wrap>
+ <Column
+ bgColor="#003831"
+ colWidth="1/2"
+ isPadLarge={true}
+ >
+ <WrapCentered>
+ <Icon
+ name="ready-to-build"
+ size="large"
+ margin={[0, 0, 'default', 0]}
+ />
+
+ <Paragraph size="medium" color="#00AE99">
+ Ready to build on 0x?
+ </Paragraph>
+
+ <Link
+ href="#"
+ isTransparent={true}
+ isWithArrow={true}
+ >
+ Get Started
+ </Link>
+ </WrapCentered>
+ </Column>
+
+ <Column
+ bgColor="#003831"
+ colWidth="1/2"
+ isPadLarge={true}
+ >
+ <WrapCentered>
+ <Icon
+ name="ready-to-build"
+ size="large"
+ margin={[0, 0, 'default', 0]}
+ />
+
+ <Paragraph size="medium" color="#00AE99">
+ Want help from the 0x team?
+ </Paragraph>
+
+ <Link
+ href="#"
+ isTransparent={true}
+ isWithArrow={true}
+ >
+ Get in Touch
+ </Link>
+ </WrapCentered>
+ </Column>
+ </Wrap>
+ </Section>
+);
diff --git a/packages/website/ts/@next/components/sections/landing/hero.tsx b/packages/website/ts/@next/components/sections/landing/hero.tsx
new file mode 100644
index 000000000..e43ac41f2
--- /dev/null
+++ b/packages/website/ts/@next/components/sections/landing/hero.tsx
@@ -0,0 +1,39 @@
+import * as React from 'react';
+import {Button, ButtonWrap} from 'ts/@next/components/button';
+import {Column, Section, Wrap, WrapCentered, WrapGrid} from 'ts/@next/components/layout';
+import {Heading, Paragraph} from 'ts/@next/components/text';
+
+import LogoOutlined from 'ts/@next/icons/illustrations/logo-outlined.svg';
+
+export const SectionLandingHero = () => (
+ <Section>
+ <Wrap>
+ <Column colWidth="1/2">
+ <Heading size="large">
+ Powering Decentralized Exchange
+ </Heading>
+
+ <Paragraph size="medium" isMuted={true}>
+ 0x is the best solution for adding<br />
+ exchange functionality to your business.
+ </Paragraph>
+
+ <ButtonWrap>
+ <Button isInline={true}>
+ Get Started
+ </Button>
+
+ <Button isTransparent={true} isInline={true}>
+ Learn More
+ </Button>
+ </ButtonWrap>
+ </Column>
+
+ <Column colWidth="1/2">
+ <WrapCentered>
+ <LogoOutlined/>
+ </WrapCentered>
+ </Column>
+ </Wrap>
+ </Section>
+);