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