diff options
author | Steve Klebanoff <steve.klebanoff@gmail.com> | 2019-01-10 00:54:55 +0800 |
---|---|---|
committer | Steve Klebanoff <steve.klebanoff@gmail.com> | 2019-01-10 00:54:55 +0800 |
commit | fb3605026ef63ef6897010a52bf3f4c116cdf271 (patch) | |
tree | af3887e5f785e049daeaf795e0f3e4a9ad370d93 /packages/dev-tools-pages/ts/components/header.tsx | |
parent | 76dde294f10bb3d5c1074cd6599668bcb1cdd8ec (diff) | |
parent | 5b8c9122a292f6558c45440b053ceae52d36d495 (diff) | |
download | dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar.gz dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar.bz2 dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar.lz dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar.xz dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.tar.zst dexon-0x-contracts-fb3605026ef63ef6897010a52bf3f4c116cdf271.zip |
Merge branch 'development' into feature/instant/tell-amount-available
Diffstat (limited to 'packages/dev-tools-pages/ts/components/header.tsx')
-rw-r--r-- | packages/dev-tools-pages/ts/components/header.tsx | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/packages/dev-tools-pages/ts/components/header.tsx b/packages/dev-tools-pages/ts/components/header.tsx new file mode 100644 index 000000000..2787692c1 --- /dev/null +++ b/packages/dev-tools-pages/ts/components/header.tsx @@ -0,0 +1,76 @@ +import * as React from 'react'; +import styled from 'styled-components'; + +import { ContextInterface, ThemeContext } from 'ts/context'; +import { media } from 'ts/variables'; + +import { Container } from './container'; +import { Small } from './typography'; + +const Header: React.StatelessComponent<{}> = () => ( + <ThemeContext.Consumer> + {({ icon, title }: ContextInterface) => ( + <StyledHeader> + <Container> + <LogoMark> + <Logo as={icon as 'svg'} /> + <Title>{title}</Title> + </LogoMark> + + <Link as="a" href="https://0xproject.com/"> + Built by 0x + </Link> + </Container> + </StyledHeader> + )} + </ThemeContext.Consumer> +); + +const StyledHeader = styled.header` + padding-top: 3.75rem; + padding-bottom: 0.875rem; + width: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 2; + ${Container} { + display: flex; + justify-content: space-between; + align-items: center; + } + + ${media.small`padding-top: 2.125rem;`}; +`; + +const LogoMark = styled.div` + position: relative; + height: 1.75rem; + display: flex; + align-items: center; +`; + +const Logo = styled.div` + color: ${props => props.theme.colors.main}; + width: 1.75rem; + height: 100%; +`; + +const Title = styled.h1` + font-size: 1.5rem; + line-height: 1; + white-space: nowrap; + margin-top: 2px; + margin-bottom: 0; + margin-left: 0.8125rem; + + ${media.small`font-size: 1.25rem;`}; +`; + +const Link = styled(Small)` + :hover { + text-decoration: underline; + } +`; + +export { Header }; |