aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/dev-tools-pages/ts/components/ContentBlock.tsx17
-rw-r--r--packages/dev-tools-pages/ts/components/Main.tsx43
-rw-r--r--packages/dev-tools-pages/ts/pages/Compiler.tsx69
3 files changed, 79 insertions, 50 deletions
diff --git a/packages/dev-tools-pages/ts/components/ContentBlock.tsx b/packages/dev-tools-pages/ts/components/ContentBlock.tsx
index 56d52a150..fcd85830e 100644
--- a/packages/dev-tools-pages/ts/components/ContentBlock.tsx
+++ b/packages/dev-tools-pages/ts/components/ContentBlock.tsx
@@ -1,7 +1,8 @@
import * as React from 'react';
import styled from 'styled-components';
-import { Beta } from './Typography';
+import { withContext, Props } from './withContext';
+import { Beta, Alpha } from './Typography';
const Base = styled.div`
display: flex;
@@ -26,8 +27,14 @@ const Item = styled.div`
}
`;
-interface ContentBlockProps {
+const StyledTitle = styled(Alpha)`
+ color: ${props => props.color};
+ margin-bottom: 6.25rem;
+`;
+
+interface ContentBlockProps extends Props {
title: string;
+ main?: boolean;
children: React.ReactNode;
}
@@ -36,12 +43,14 @@ function ContentBlock(props: ContentBlockProps) {
return <Item>{child}</Item>;
});
+ const Title = props.main ? StyledTitle : Beta;
+
return (
<Base>
- <Beta>{props.title}</Beta>
+ <Title color={props.colors.main}>{props.title}</Title>
<Content>{children}</Content>
</Base>
);
}
-export default ContentBlock;
+export default withContext(ContentBlock);
diff --git a/packages/dev-tools-pages/ts/components/Main.tsx b/packages/dev-tools-pages/ts/components/Main.tsx
index 8046abc91..6c0270dbc 100644
--- a/packages/dev-tools-pages/ts/components/Main.tsx
+++ b/packages/dev-tools-pages/ts/components/Main.tsx
@@ -1,33 +1,44 @@
import * as React from 'react';
import styled from 'styled-components';
-import { withContext, Props } from './withContext';
+import { Beta } from './Typography';
+import Container from './Container';
+import ContentBlock from './ContentBlock';
-import { Alpha } from './Typography';
-
-const StyledMain = styled.div`
+const StyledMain =
+ styled.div <
+ MainProps >
+ `
padding-top: 6.25rem;
padding-bottom: 6.25rem;
+ ${props =>
+ props.dark
+ ? `
+ background-color: #000;
+ color: #fff;
+ `
+ : ''};
`;
-const Title = styled(Alpha)`
- color: ${props => props.color};
- margin-bottom: 6.25rem;
-`;
-
-interface MainProps extends Props {
+interface MainProps {
+ title?: string;
+ subtitle?: string;
+ dark?: boolean;
children: React.ReactNode;
}
function Main(props: MainProps) {
return (
- <StyledMain>
- <Title as="h2" color={props.colors.main}>
- Get started
- </Title>
- {props.children}
+ <StyledMain dark={props.dark}>
+ <Container>
+ <ContentBlock main title={props.title || 'Get started'}>
+ {props.subtitle ? <Beta as="p">{props.subtitle}</Beta> : null}
+ </ContentBlock>
+
+ {props.children}
+ </Container>
</StyledMain>
);
}
-export default withContext(Main);
+export default Main;
diff --git a/packages/dev-tools-pages/ts/pages/Compiler.tsx b/packages/dev-tools-pages/ts/pages/Compiler.tsx
index 35c810cb3..e7336f1b1 100644
--- a/packages/dev-tools-pages/ts/pages/Compiler.tsx
+++ b/packages/dev-tools-pages/ts/pages/Compiler.tsx
@@ -15,40 +15,49 @@ import CompilerComponent from 'ts/components/Compiler';
function Compiler() {
return (
<Base context={context}>
- <Container>
- <CompilerComponent />
- <Main>
- <ContentBlock title="Required steps">
- <List items={['Step 1', 'Step 2']} />
- </ContentBlock>
- <ContentBlock title="Prerequisites">
- <Code>npm install @0x/sol-trace --save</Code>
- <p>
- Sol-trace is a subprovider that needs to be prepended to your{' '}
- <a href="#">provider engine</a>. Depending on your project setup, you will need to use a
- specific ArtifactAdapter. Sol-trace ships with the{' '}
- <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
- <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can
- also write your own and support any artifact format.
- </p>
- </ContentBlock>
+ <CompilerComponent />
+ <Main>
+ <ContentBlock title="Required steps">
+ <List items={['Step 1', 'Step 2']} />
+ </ContentBlock>
+ <ContentBlock title="Prerequisites">
+ <Code>npm install @0x/sol-trace --save</Code>
+ <p>
+ Sol-trace is a subprovider that needs to be prepended to your <a href="#">provider engine</a>.
+ Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace
+ ships with the <InlineCode>SolCompilerArtifactAdapter</InlineCode> for use with Sol-compiler and{' '}
+ <InlineCode>TruffleArtifactAdapter</InlineCode> for use with the Truffle framework. You can also
+ write your own and support any artifact format.
+ </p>
+ </ContentBlock>
- <ContentBlock title="Installation">
- <Tabs>
- <TabBlock title="Sol-compiler">
- <Code language="js">
- {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
+ <ContentBlock title="Installation">
+ <Tabs>
+ <TabBlock title="Sol-compiler">
+ <Code language="js">
+ {`import { SolCompilerArtifactAdapter } from '@0x/sol-trace';
// Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in
const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`}
- </Code>
- </TabBlock>
- <TabBlock title="Truffle">Truffle</TabBlock>
- <TabBlock title="Custom">Custom</TabBlock>
- </Tabs>
- </ContentBlock>
- </Main>
- </Container>
+ </Code>
+ </TabBlock>
+ <TabBlock title="Truffle">Truffle</TabBlock>
+ <TabBlock title="Custom">Custom</TabBlock>
+ </Tabs>
+ </ContentBlock>
+ </Main>
+ <Main
+ title="Artifacts"
+ subtitle="Sol compiler uses solidity standard JSON output format for the artifacts. This way, you can define which parts of the artifact you need."
+ dark
+ >
+ <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>
+ </Main>
</Base>
);
}