1
0
mirror of https://github.com/trezor/trezor-wallet synced 2024-11-27 10:48:22 +00:00

use Header from tuc

This commit is contained in:
slowbackspace 2019-04-25 13:08:13 +02:00
parent b04bf8f71d
commit 3d09a4e019

View File

@ -1,10 +1,7 @@
/* eslint-disable jsx-a11y/accessible-emoji */
/* @flow */
import React from 'react';
import styled from 'styled-components';
import { NavLink } from 'react-router-dom';
import { SCREEN_SIZE } from 'config/variables';
import { Icon, icons, colors } from 'trezor-ui-components';
import * as React from 'react';
import { Header } from 'trezor-ui-components';
import { FormattedMessage } from 'react-intl';
import type { toggleSidebar as toggleSidebarType } from 'actions/WalletActions';
@ -12,226 +9,39 @@ import l10nMessages from './index.messages';
import LanguagePicker from './components/LanguagePicker/Container';
const Wrapper = styled.header`
width: 100%;
height: 52px;
background: ${colors.HEADER};
z-index: 200;
`;
const LayoutWrapper = styled.div`
width: 100%;
height: 100%;
max-width: 1170px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
@media screen and (max-width: 1170px) {
padding: 0 25px;
}
`;
const Left = styled.div`
display: none;
flex: 0 0 33%;
@media screen and (max-width: ${SCREEN_SIZE.SM}) {
display: initial;
}
`;
const MenuToggler = styled.div`
display: none;
white-space: nowrap;
color: ${colors.WHITE};
align-self: center;
align-items: center;
cursor: pointer;
user-select: none;
padding: 10px 0px;
transition: all 0.1s ease-in;
@media screen and (max-width: ${SCREEN_SIZE.SM}) {
display: flex;
}
`;
const TogglerText = styled.div`
margin-left: 6px;
`;
const TREZOR = styled.div``;
const T = styled.div``;
const Logo = styled.div`
flex: 1;
justify-content: flex-start;
display: flex;
${T} {
display: none;
width: 20px;
}
${TREZOR} {
width: 100px;
}
svg {
fill: ${colors.WHITE};
height: 28px;
}
@media screen and (max-width: ${SCREEN_SIZE.SM}) {
flex: 1 0 33%;
justify-content: center;
}
@media screen and (max-width: ${SCREEN_SIZE.XS}) {
/* hides full width trezor logo, shows only trezor icon */
${TREZOR} {
display: none;
}
${T} {
display: inherit;
}
}
`;
const MenuLinks = styled.div`
display: flex;
align-content: center;
justify-content: flex-end;
flex: 0;
height: 100%;
@media screen and (max-width: ${SCREEN_SIZE.SM}) {
flex: 0 1 33%;
}
`;
const Projects = styled.div`
display: flex;
align-items: center;
height: 100%;
border-right: 1px solid ${colors.HEADER_DIVIDER};
padding-right: 24px;
margin-right: 24px;
@media screen and (max-width: ${SCREEN_SIZE.SM}) {
display: none;
}
`;
const A = styled.a`
color: ${colors.WHITE};
margin-left: 24px;
transition: all 0.1s ease-in;
white-space: nowrap;
&:visited {
color: ${colors.WHITE};
margin-left: 24px;
}
&:first-child {
margin: 0px;
}
&:hover,
&:active {
color: ${colors.TEXT_SECONDARY};
}
`;
type Props = {
type MyProps = {
sidebarEnabled?: boolean,
sidebarOpened?: ?boolean,
toggleSidebar?: toggleSidebarType,
};
const Header = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: Props) => (
<Wrapper data-test="Main__page__navigation">
<LayoutWrapper>
<Left>
{sidebarEnabled && (
<MenuToggler onClick={toggleSidebar}>
{sidebarOpened ? (
<>
<Icon size={12} color={colors.WHITE} icon={icons.CLOSE} />
<TogglerText>
<FormattedMessage {...l10nMessages.TR_MENU_CLOSE} />
</TogglerText>
</>
) : (
<>
<Icon color={colors.WHITE} size={14} icon={icons.MENU} />
<TogglerText>
<FormattedMessage {...l10nMessages.TR_MENU} />
</TogglerText>
</>
)}
</MenuToggler>
)}
</Left>
<Logo>
<NavLink to="/">
<TREZOR>
<svg
xmlns="http://www.w3.org/2000/svg"
x="0px"
y="0px"
viewBox="0 0 163.7 41.9"
width="100%"
height="100%"
preserveAspectRatio="xMinYMin meet"
>
<polygon points="101.1,12.8 118.2,12.8 118.2,17.3 108.9,29.9 118.2,29.9 118.2,35.2 101.1,35.2 101.1,30.7 110.4,18.1 101.1,18.1" />
<path d="M158.8,26.9c2.1-0.8,4.3-2.9,4.3-6.6c0-4.5-3.1-7.4-7.7-7.4h-10.5v22.3h5.8v-7.5h2.2l4.1,7.5h6.7L158.8,26.9z M154.7,22.5 h-4V18h4c1.5,0,2.5,0.9,2.5,2.2C157.2,21.6,156.2,22.5,154.7,22.5z" />
<path d="M130.8,12.5c-6.8,0-11.6,4.9-11.6,11.5s4.9,11.5,11.6,11.5s11.7-4.9,11.7-11.5S137.6,12.5,130.8,12.5z M130.8,30.3 c-3.4,0-5.7-2.6-5.7-6.3c0-3.8,2.3-6.3,5.7-6.3c3.4,0,5.8,2.6,5.8,6.3C136.6,27.7,134.2,30.3,130.8,30.3z" />
<polygon points="82.1,12.8 98.3,12.8 98.3,18 87.9,18 87.9,21.3 98,21.3 98,26.4 87.9,26.4 87.9,30 98.3,30 98.3,35.2 82.1,35.2 " />
<path d="M24.6,9.7C24.6,4.4,20,0,14.4,0S4.2,4.4,4.2,9.7v3.1H0v22.3h0l14.4,6.7l14.4-6.7h0V12.9h-4.2V9.7z M9.4,9.7 c0-2.5,2.2-4.5,5-4.5s5,2,5,4.5v3.1H9.4V9.7z M23,31.5l-8.6,4l-8.6-4V18.1H23V31.5z" />
<path d="M79.4,20.3c0-4.5-3.1-7.4-7.7-7.4H61.2v22.3H67v-7.5h2.2l4.1,7.5H80l-4.9-8.3C77.2,26.1,79.4,24,79.4,20.3z M71,22.5h-4V18 h4c1.5,0,2.5,0.9,2.5,2.2C73.5,21.6,72.5,22.5,71,22.5z" />
<polygon points="40.5,12.8 58.6,12.8 58.6,18.1 52.4,18.1 52.4,35.2 46.6,35.2 46.6,18.1 40.5,18.1 " />
</svg>
</TREZOR>
<T>
<svg
xmlns="http://www.w3.org/2000/svg"
x="0px"
y="0px"
viewBox="0 0 20 41.9"
width="100%"
height="100%"
preserveAspectRatio="xMinYMin meet"
>
<path d="M24.6,9.7C24.6,4.4,20,0,14.4,0S4.2,4.4,4.2,9.7v3.1H0v22.3h0l14.4,6.7l14.4-6.7h0V12.9h-4.2V9.7z M9.4,9.7 c0-2.5,2.2-4.5,5-4.5s5,2,5,4.5v3.1H9.4V9.7z M23,31.5l-8.6,4l-8.6-4V18.1H23V31.5z" />
</svg>
</T>
</NavLink>
</Logo>
<MenuLinks>
<Projects>
<A href="https://trezor.io/" target="_blank" rel="noreferrer noopener">
<FormattedMessage {...l10nMessages.TR_TREZOR} />
</A>
<A href="https://wiki.trezor.io/" target="_blank" rel="noreferrer noopener">
<FormattedMessage {...l10nMessages.TR_WIKI} />
</A>
<A href="https://blog.trezor.io/" target="_blank" rel="noreferrer noopener">
<FormattedMessage {...l10nMessages.TR_BLOG} />
</A>
<A href="https://trezor.io/support/" target="_blank" rel="noreferrer noopener">
<FormattedMessage {...l10nMessages.TR_SUPPORT} />
</A>
</Projects>
<LanguagePicker />
</MenuLinks>
</LayoutWrapper>
</Wrapper>
const MyHeader = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: MyProps) => (
<Header
sidebarEnabled={sidebarEnabled}
sidebarOpened={sidebarOpened}
toggleSidebar={toggleSidebar}
togglerOpenText={<FormattedMessage {...l10nMessages.TR_MENU} />}
togglerCloseText={<FormattedMessage {...l10nMessages.TR_MENU_CLOSE} />}
links={[
{
href: 'https://trezor.io/',
title: <FormattedMessage {...l10nMessages.TR_TREZOR} />,
},
{
href: 'https://wiki.trezor.io/',
title: <FormattedMessage {...l10nMessages.TR_WIKI} />,
},
{
href: 'https://blog.trezor.io/',
title: <FormattedMessage {...l10nMessages.TR_BLOG} />,
},
{
href: 'https://trezor.io/support/',
title: <FormattedMessage {...l10nMessages.TR_SUPPORT} />,
},
]}
rightAddon={<LanguagePicker />}
/>
);
export default Header;
export default MyHeader;