Merge branch 'dev-tools-pages' into feature/variables

This commit is contained in:
Megan Pearson
2018-10-22 14:24:53 +02:00
8 changed files with 187 additions and 184 deletions

View File

@@ -0,0 +1,34 @@
import * as React from 'react';
import styled from 'styled-components';
import Container from './Container';
const StyledMain =
styled.div <
MainProps >
`
padding-top: 6.25rem;
padding-bottom: 6.25rem;
${props =>
props.dark
? `
background-color: #000;
color: #fff;
`
: ''};
`;
interface MainProps {
dark?: boolean;
children: React.ReactNode;
}
function Main(props: MainProps) {
return (
<StyledMain dark={props.dark}>
<Container>{props.children}</Container>
</StyledMain>
);
}
export default Main;

View File

@@ -1,8 +1,9 @@
import * as React from 'react'; import * as React from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { withContext, Props } from './withContext';
import { Beta, Alpha } from './Typography';
import { media } from 'ts/variables'; import { media } from 'ts/variables';
import { Beta } from './Typography';
const Base = styled.div` const Base = styled.div`
display: flex; display: flex;
@@ -42,9 +43,14 @@ const Item = styled.div`
} }
`; `;
interface ContentBlockProps { const StyledTitle = styled(Alpha)`
color: ${props => props.color};
`;
interface ContentBlockProps extends Props {
title: string; title: string;
children: React.ReactNode; main?: boolean;
children?: React.ReactNode;
} }
function ContentBlock(props: ContentBlockProps) { function ContentBlock(props: ContentBlockProps) {
@@ -52,12 +58,14 @@ function ContentBlock(props: ContentBlockProps) {
return <Item>{child}</Item>; return <Item>{child}</Item>;
}); });
const Title = props.main ? StyledTitle : Beta;
return ( return (
<Base> <Base>
<Beta>{props.title}</Beta> <Title color={props.colors.main}>{props.title}</Title>
<Content>{children}</Content> {children ? <Content>{children}</Content> : null}
</Base> </Base>
); );
} }
export default ContentBlock; export default withContext(ContentBlock);

View File

@@ -1,41 +0,0 @@
import * as React from 'react';
import styled from 'styled-components';
import { media } from 'ts/variables';
import { withContext, Props } from './withContext';
import { Alpha } from './Typography';
const StyledMain = styled.div`
padding-top: 6.25rem;
padding-bottom: 6.25rem;
${media.small`
padding-top: 2.5rem;
padding-bottom: 2.5rem;
`};
`;
const Title = styled(Alpha)`
color: ${props => props.color};
margin-bottom: 6.25rem;
${media.small`
margin-bottom: 3.125rem;
`};
`;
interface MainProps extends Props {
children: React.ReactNode;
}
function Main(props: MainProps) {
return (
<StyledMain>
<Title as="h2" color={props.colors.main}>
Get started
</Title>
{props.children}
</StyledMain>
);
}
export default withContext(Main);

View File

@@ -1,6 +1,5 @@
import * as React from 'react'; import * as React from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { colors } from 'ts/variables'; import { colors } from 'ts/variables';
import { Tabs as ReactTabs, Tab, TabList, TabPanel } from 'react-tabs'; import { Tabs as ReactTabs, Tab, TabList, TabPanel } from 'react-tabs';
import Breakout from './Breakout'; import Breakout from './Breakout';

View File

@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/compiler'; import context from 'ts/context/compiler';
import Base from 'ts/components/Base'; import Base from 'ts/components/Base';
import Container from 'ts/components/Container'; import Content from 'ts/components/Content';
import Main from 'ts/components/Main';
import ContentBlock from 'ts/components/ContentBlock'; import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs'; import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code'; import Code from 'ts/components/Code';
@@ -15,21 +14,20 @@ import CompilerComponent from 'ts/components/Compiler';
function Compiler() { function Compiler() {
return ( return (
<Base context={context}> <Base context={context}>
<Container>
<CompilerComponent /> <CompilerComponent />
<Main> <Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps"> <ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} /> <List items={['Step 1', 'Step 2']} />
</ContentBlock> </ContentBlock>
<ContentBlock title="Prerequisites"> <ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code> <Code>npm install @0x/sol-trace --save</Code>
<p> <p>
Sol-trace is a subprovider that needs to be prepended to your{' '} Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
specific ArtifactAdapter. Sol-trace ships with the{' '} ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '} <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can write your own and support any artifact format.
also write your own and support any artifact format.
</p> </p>
</ContentBlock> </ContentBlock>
@@ -47,8 +45,22 @@ const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDi
<TabBlock title="Custom">Custom</TabBlock> <TabBlock title="Custom">Custom</TabBlock>
</Tabs> </Tabs>
</ContentBlock> </ContentBlock>
</Main> </Content>
</Container> <Content dark>
<ContentBlock main title="Artifacts">
<p>
Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
define which parts of the artifact you need.
</p>
</ContentBlock>
<ContentBlock title="Production">
<p>
Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can
define which parts of the artifact you need.
</p>
</ContentBlock>
</Content>
</Base> </Base>
); );
} }

View File

@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/cov'; import context from 'ts/context/cov';
import Base from 'ts/components/Base'; import Base from 'ts/components/Base';
import Container from 'ts/components/Container'; import Content from 'ts/components/Content';
import Main from 'ts/components/Main';
import ContentBlock from 'ts/components/ContentBlock'; import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs'; import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code'; import Code from 'ts/components/Code';
@@ -15,27 +14,26 @@ import Intro from 'ts/components/Intro';
function Cov() { function Cov() {
return ( return (
<Base context={context}> <Base context={context}>
<Container>
<Intro title="Measure your tests"> <Intro title="Measure your tests">
<p> <p>
When it comes to writing smart contracts, testing is one of the most important steps of the When it comes to writing smart contracts, testing is one of the most important steps of the process.
process. In order to quantify the robustness of your Solidity testing suite, you need to measure In order to quantify the robustness of your Solidity testing suite, you need to measure its code
its code coverage. coverage.
</p> </p>
</Intro> </Intro>
<Main> <Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps"> <ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} /> <List items={['Step 1', 'Step 2']} />
</ContentBlock> </ContentBlock>
<ContentBlock title="Prerequisites"> <ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code> <Code>npm install @0x/sol-trace --save</Code>
<p> <p>
Sol-trace is a subprovider that needs to be prepended to your{' '} Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
specific ArtifactAdapter. Sol-trace ships with the{' '} ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '} <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can write your own and support any artifact format.
also write your own and support any artifact format.
</p> </p>
</ContentBlock> </ContentBlock>
@@ -53,8 +51,7 @@ const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDi
<TabBlock title="Custom">Custom</TabBlock> <TabBlock title="Custom">Custom</TabBlock>
</Tabs> </Tabs>
</ContentBlock> </ContentBlock>
</Main> </Content>
</Container>
</Base> </Base>
); );
} }

View File

@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/profiler'; import context from 'ts/context/profiler';
import Base from 'ts/components/Base'; import Base from 'ts/components/Base';
import Container from 'ts/components/Container'; import Content from 'ts/components/Content';
import Main from 'ts/components/Main';
import ContentBlock from 'ts/components/ContentBlock'; import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs'; import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code'; import Code from 'ts/components/Code';
@@ -15,7 +14,6 @@ import Intro from 'ts/components/Intro';
function Profiler() { function Profiler() {
return ( return (
<Base context={context}> <Base context={context}>
<Container>
<Intro title="ra"> <Intro title="ra">
<p> <p>
Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider. Sol-profiler gathers line-by-line gas usage for any transaction submitted through your provider.
@@ -23,19 +21,19 @@ function Profiler() {
data-driven approach to optimizing it. data-driven approach to optimizing it.
</p> </p>
</Intro> </Intro>
<Main> <Content>
<ContentBlock main title="Get started" />
<ContentBlock title="Required steps"> <ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} /> <List items={['Step 1', 'Step 2']} />
</ContentBlock> </ContentBlock>
<ContentBlock title="Prerequisites"> <ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code> <Code>npm install @0x/sol-trace --save</Code>
<p> <p>
Sol-trace is a subprovider that needs to be prepended to your{' '} Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
specific ArtifactAdapter. Sol-trace ships with the{' '} ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '} <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can write your own and support any artifact format.
also write your own and support any artifact format.
</p> </p>
</ContentBlock> </ContentBlock>
@@ -53,8 +51,7 @@ const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDi
<TabBlock title="Custom">Custom</TabBlock> <TabBlock title="Custom">Custom</TabBlock>
</Tabs> </Tabs>
</ContentBlock> </ContentBlock>
</Main> </Content>
</Container>
</Base> </Base>
); );
} }

View File

@@ -3,8 +3,7 @@ import { render, hydrate } from 'react-dom';
import context from 'ts/context/trace'; import context from 'ts/context/trace';
import Base from 'ts/components/Base'; import Base from 'ts/components/Base';
import Container from 'ts/components/Container'; import Content from 'ts/components/Content';
import Main from 'ts/components/Main';
import ContentBlock from 'ts/components/ContentBlock'; import ContentBlock from 'ts/components/ContentBlock';
import { Tabs, TabBlock } from 'ts/components/Tabs'; import { Tabs, TabBlock } from 'ts/components/Tabs';
import Code from 'ts/components/Code'; import Code from 'ts/components/Code';
@@ -16,20 +15,19 @@ function Trace() {
return ( return (
<Base context={context}> <Base context={context}>
<TraceComponent /> <TraceComponent />
<Container> <Content>
<Main> <ContentBlock main title="Get started" />
<ContentBlock title="Required steps"> <ContentBlock title="Required steps">
<List items={['Step 1', 'Step 2']} /> <List items={['Step 1', 'Step 2']} />
</ContentBlock> </ContentBlock>
<ContentBlock title="Prerequisites"> <ContentBlock title="Prerequisites">
<Code>npm install @0x/sol-trace --save</Code> <Code>npm install @0x/sol-trace --save</Code>
<p> <p>
Sol-trace is a subprovider that needs to be prepended to your{' '} Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
<a href="#">provider engine</a>. Depending on your project setup, you will need to use a Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
specific ArtifactAdapter. Sol-trace ships with the{' '} ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
<InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '} <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
<InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can write your own and support any artifact format.
also write your own and support any artifact format.
</p> </p>
</ContentBlock> </ContentBlock>
@@ -47,8 +45,7 @@ const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDi
<TabBlock title="Custom">Custom</TabBlock> <TabBlock title="Custom">Custom</TabBlock>
</Tabs> </Tabs>
</ContentBlock> </ContentBlock>
</Main> </Content>
</Container>
</Base> </Base>
); );
} }