parent
4e446410eb
commit
e1497fafa6
@ -0,0 +1,11 @@ |
||||
import React, {Component, PropTypes} from 'react' |
||||
import Spinner from './Spinner' |
||||
|
||||
export default function LoadingScreen({ className = '', loadingMessage }) { |
||||
return ( |
||||
<div className={`${className} loading-screen`}> |
||||
<Spinner color="#1B344D" /> |
||||
<div className="loading-screen__message">{loadingMessage}</div> |
||||
</div> |
||||
); |
||||
} |
@ -0,0 +1,70 @@ |
||||
import React from 'react'; |
||||
|
||||
export default function Spinner({ className = '', color = "#000000" }) { |
||||
return ( |
||||
<div className={`spinner ${className}`}> |
||||
<svg className="lds-spinner" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style={{background: 'none'}}> |
||||
<g transform="rotate(0 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(30 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(60 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.75s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(90 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(120 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(150 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.5s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(180 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(210 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(240 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.25s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(270 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(300 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
<g transform="rotate(330 50 50)"> |
||||
<rect x={47} y={16} rx={0} ry={0} width={6} height={20} fill={color}> |
||||
<animate attributeName="opacity" values="1;0" dur="1s" begin="0s" repeatCount="indefinite" /> |
||||
</rect> |
||||
</g> |
||||
</svg> |
||||
</div> |
||||
); |
||||
} |
@ -0,0 +1,40 @@ |
||||
import React, {Component, PropTypes} from 'react' |
||||
import {connect} from 'react-redux'; |
||||
import Identicon from '../../../../ui/app/components/identicon' |
||||
import Breadcrumbs from './breadcrumbs' |
||||
|
||||
class UniqueImageScreen extends Component { |
||||
static propTypes = { |
||||
address: PropTypes.string.isRequired, |
||||
next: PropTypes.func.isRequired |
||||
} |
||||
|
||||
render() { |
||||
return ( |
||||
<div className="unique-image"> |
||||
<Identicon address={this.props.address} diameter={70} /> |
||||
<div className="unique-image__title">You unique account image</div> |
||||
<div className="unique-image__body-text"> |
||||
This image was programmatically generated for you by your new account number. |
||||
</div> |
||||
<div className="unique-image__body-text"> |
||||
You’ll see this image everytime you need to confirm a transaction. |
||||
</div> |
||||
<button |
||||
className="first-time-flow__button" |
||||
onClick={this.props.next} |
||||
> |
||||
Next |
||||
</button> |
||||
<Breadcrumbs total={3} currentIndex={1} /> |
||||
</div> |
||||
) |
||||
} |
||||
} |
||||
|
||||
export default connect( |
||||
({ metamask: { identities } }) => ({ |
||||
address: Object.entries(identities) |
||||
.map(([key]) => key)[0] |
||||
}) |
||||
)(UniqueImageScreen) |
Loading…
Reference in new issue