Header component for transaction confirmation screens (#15614)
Co-authored-by: Brad Decker <bhdecker84@gmail.com>feature/default_network_editable
parent
365bf11fdd
commit
6185cc6e5e
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1 @@ |
|||||||
|
export { default } from './network-account-balance-header'; |
@ -0,0 +1,11 @@ |
|||||||
|
.network-account-balance-header { |
||||||
|
border-top: 1px solid var(--color-border-muted); |
||||||
|
border-bottom: 1px solid var(--color-border-muted); |
||||||
|
|
||||||
|
&__network-account { |
||||||
|
&__ident-icon-ethereum { |
||||||
|
margin-inline-start: -10px; |
||||||
|
margin-top: -20px; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,111 @@ |
|||||||
|
import React, { useContext } from 'react'; |
||||||
|
import PropTypes from 'prop-types'; |
||||||
|
import Identicon from '../../ui/identicon/identicon.component'; |
||||||
|
import { |
||||||
|
DISPLAY, |
||||||
|
FLEX_DIRECTION, |
||||||
|
TYPOGRAPHY, |
||||||
|
COLORS, |
||||||
|
FONT_WEIGHT, |
||||||
|
ALIGN_ITEMS, |
||||||
|
JUSTIFY_CONTENT, |
||||||
|
} from '../../../helpers/constants/design-system'; |
||||||
|
import Box from '../../ui/box/box'; |
||||||
|
import { I18nContext } from '../../../contexts/i18n'; |
||||||
|
import Typography from '../../ui/typography'; |
||||||
|
|
||||||
|
export default function NetworkAccountBalanceHeader({ |
||||||
|
networkName, |
||||||
|
accountName, |
||||||
|
accountBalance, |
||||||
|
tokenName, |
||||||
|
accountAddress, |
||||||
|
}) { |
||||||
|
const t = useContext(I18nContext); |
||||||
|
|
||||||
|
return ( |
||||||
|
<Box |
||||||
|
display={DISPLAY.FLEX} |
||||||
|
flexDirection={FLEX_DIRECTION.ROW} |
||||||
|
padding={4} |
||||||
|
className="network-account-balance-header" |
||||||
|
alignItems={ALIGN_ITEMS.CENTER} |
||||||
|
justifyContent={JUSTIFY_CONTENT.SPACE_BETWEEN} |
||||||
|
> |
||||||
|
<Box |
||||||
|
display={DISPLAY.FLEX} |
||||||
|
flexDirection={FLEX_DIRECTION.ROW} |
||||||
|
alignItems={ALIGN_ITEMS.CENTER} |
||||||
|
gap={2} |
||||||
|
marginRight={5} |
||||||
|
> |
||||||
|
<Box |
||||||
|
display={DISPLAY.FLEX} |
||||||
|
flexDirection={FLEX_DIRECTION.ROW} |
||||||
|
alignItems={ALIGN_ITEMS.CENTER} |
||||||
|
> |
||||||
|
<Identicon address={accountAddress} diameter={32} /> |
||||||
|
<Identicon |
||||||
|
address={accountAddress} |
||||||
|
diameter={16} |
||||||
|
imageBorder |
||||||
|
image="./images/eth_badge.svg" |
||||||
|
className="network-account-balance-header__network-account__ident-icon-ethereum" |
||||||
|
/> |
||||||
|
</Box> |
||||||
|
<Box |
||||||
|
display={DISPLAY.FLEX} |
||||||
|
alignItems={ALIGN_ITEMS.FLEX_START} |
||||||
|
flexDirection={FLEX_DIRECTION.COLUMN} |
||||||
|
> |
||||||
|
<Typography |
||||||
|
variant={TYPOGRAPHY.H7} |
||||||
|
color={COLORS.TEXT_ALTERNATIVE} |
||||||
|
marginBottom={0} |
||||||
|
> |
||||||
|
{networkName} |
||||||
|
</Typography> |
||||||
|
|
||||||
|
<Typography |
||||||
|
variant={TYPOGRAPHY.H6} |
||||||
|
color={COLORS.TEXT_DEFAULT} |
||||||
|
fontWeight={FONT_WEIGHT.BOLD} |
||||||
|
marginTop={0} |
||||||
|
> |
||||||
|
{accountName} |
||||||
|
</Typography> |
||||||
|
</Box> |
||||||
|
</Box> |
||||||
|
<Box |
||||||
|
display={DISPLAY.FLEX} |
||||||
|
alignItems={ALIGN_ITEMS.FLEX_END} |
||||||
|
flexDirection={FLEX_DIRECTION.COLUMN} |
||||||
|
> |
||||||
|
<Typography |
||||||
|
variant={TYPOGRAPHY.H7} |
||||||
|
color={COLORS.TEXT_ALTERNATIVE} |
||||||
|
marginBottom={0} |
||||||
|
> |
||||||
|
{t('balance')} |
||||||
|
</Typography> |
||||||
|
|
||||||
|
<Typography |
||||||
|
variant={TYPOGRAPHY.H6} |
||||||
|
color={COLORS.TEXT_DEFAULT} |
||||||
|
fontWeight={FONT_WEIGHT.BOLD} |
||||||
|
marginTop={0} |
||||||
|
> |
||||||
|
{accountBalance} {tokenName} |
||||||
|
</Typography> |
||||||
|
</Box> |
||||||
|
</Box> |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
NetworkAccountBalanceHeader.propTypes = { |
||||||
|
networkName: PropTypes.string, |
||||||
|
accountName: PropTypes.string, |
||||||
|
accountBalance: PropTypes.number, |
||||||
|
tokenName: PropTypes.string, |
||||||
|
accountAddress: PropTypes.string, |
||||||
|
}; |
@ -0,0 +1,37 @@ |
|||||||
|
import React from 'react'; |
||||||
|
import NetworkAccountBalanceHeader from './network-account-balance-header'; |
||||||
|
|
||||||
|
export default { |
||||||
|
title: 'Components/App/NetworkAccountBalanceHeader', |
||||||
|
id: __filename, |
||||||
|
argTypes: { |
||||||
|
networkName: { |
||||||
|
control: { type: 'text' }, |
||||||
|
}, |
||||||
|
accountName: { |
||||||
|
control: { type: 'text' }, |
||||||
|
}, |
||||||
|
accountBalance: { |
||||||
|
control: { type: 'number' }, |
||||||
|
}, |
||||||
|
tokenName: { |
||||||
|
control: { type: 'text' }, |
||||||
|
}, |
||||||
|
accountAddress: { |
||||||
|
control: { type: 'text' }, |
||||||
|
}, |
||||||
|
}, |
||||||
|
args: { |
||||||
|
networkName: 'Ethereum Network', |
||||||
|
accountName: 'Account 1', |
||||||
|
accountBalance: 200.12, |
||||||
|
tokenName: 'DAI', |
||||||
|
accountAddress: '0x5CfE73b6021E818B776b421B1c4Db2474086a7e1', |
||||||
|
}, |
||||||
|
}; |
||||||
|
|
||||||
|
export const DefaultStory = (args) => { |
||||||
|
return <NetworkAccountBalanceHeader {...args} />; |
||||||
|
}; |
||||||
|
|
||||||
|
DefaultStory.storyName = 'Default'; |
Loading…
Reference in new issue