@@ -45,11 +45,40 @@ class Passport extends React.Component {
49+ let date = new Date()
50+ var fil = function(n) {
51+ return n >= 10 ? n : "0" + n;
53+ let fmtDate = `${date.getUTCFullYear()}.` +
54+ `${(date.getUTCMonth() + 1)}.` +
55+ `${fil(date.getUTCDate())}`
61+ console.log('walletStates = ', this.props.walletStates)
63+ let stateElems = this.props.walletStates.map(state => {
65+ <div className="flex justify-between">
66+ <div className="text-mono text-sm lh-6 green-dark">{state}</div>
67+ <div className="text-700 text-sm lh-6 green-dark">✓</div>
48 render() {
79 render() {
49 let sigil = null
80 let sigil = null
51− console.log('this.props.point = ', this.props.point)
53 let patp = this.props.point.matchWith({
82 let patp = this.props.point.matchWith({
54 Just: p => ob.patp(p.value),
83 Just: p => ob.patp(p.value),
55 Nothing: () => ''
84 Nothing: () => ''
@@ -60,6 +89,11 @@ class Passport extends React.Component {
60 Nothing: () => null
89 Nothing: () => null
92+ let ownershipAddress = this.props.wallet.matchWith({
93+ Just: w => w.value.ownership.keys.address,
63 if (patp !== '') {
97 if (patp !== '') {
64 sigil = pour({
98 sigil = pour({
65 patp: patp,
99 patp: patp,
@@ -70,72 +104,73 @@ class Passport extends React.Component {
70 sigil = <div className="passport-sigil-blank"></div>
104 sigil = <div className="passport-sigil-blank"></div>
107+ let currentDate = this.getCurrentDate()
108+ let walletStates = this.getWalletStates()
74− <div className="passport">
111+ <div>
75− <div className="flex">
112+ <div className={`passport ${wallet && 'passport-filled'}`}>
113+ <div className="flex">
76− <div className="passport-sigil">
114+ <div className="passport-sigil">
117+ <div className="passport-metadata ml-4">
118+ <div className="passport-label text-mono">Point</div>
119+ <div className="text-mono">{patp || '-'}</div>
121+ <div className="passport-label gray-50 mt-6">Created on</div>
122+ <div className="passport-value">{patp ? currentDate : '-' }</div>
124+ <div className="passport-label gray-50 mt-2">Invited by</div>
125+ <div className="passport-value">{this.props.invitedBy || '-'}</div>
79− <div className="passport-metadata ml-4">
80− <div className="passport-label text-mono">Point</div>
81− <div className="text-mono">{patp || '-'}</div>
83− <div className="passport-label gray-50 mt-6">Created on</div>
84− <div className="passport-value">{this.props.createdOn || '-'}</div>
129+ <div className="mt-8">
86− <div className="passport-label gray-50 mt-2">Invited by</div>
130+ <div className="passport-label text-mono">Ethereum Address</div>
87− <div className="passport-value">{this.props.invitedBy || '-'}</div>
131+ <div className="passport-value">{ownershipAddress || 'Ungenerated'}</div>
133+ <div className="passport-label gray-50 mt-3">Master Ticket</div>
134+ <div className="passport-value">{ownershipAddress ? this.masterScreen : 'Ungenerated'}</div>
136+ <div className="passport-label gray-50 mt-5">Managment Seed</div>
137+ <div className="passport-value">{ownershipAddress ? this.managementScreen : 'Ungenerated'}</div>
140+ disabled={ !this.state.paper }
141+ className={ 'mt-8' }
142+ prop-size={ 'lg wide' }
143+ prop-color={ 'green' }
144+ onClick={ this.download }
91− <div className="mt-8">
150+ {wallet &&
92− <div className="passport-label text-mono">Ethereum Address</div>
151+ <PaperCollateralRenderer
93− <div className="passport-value">{this.props.ethAddress || 'Ungenerated'}</div>
152+ wallet={{[this.props.point.value]: wallet}}
94−
153+ className={'extremely-hidden'}
155+ console.log('paper wallet generated')
156+ this.setState({paper: data})
158+ mode={'REGISTRATION'} />
95− <div className="passport-label gray-50 mt-3">Master Ticket</div>
161+ <div className="passport-wallet-states mt-3">
96− <div className="passport-value">{this.props.ethAddress ? this.masterScreen : 'Ungenerated'}</div>
162+ {walletStates}
98− <div className="passport-label gray-50 mt-5">Managment Seed</div>
99− <div className="passport-value">{this.props.ethAddress ? this.managmentScreen : 'Ungenerated'}</div>
102− disabled={ !this.state.paper }
103− className={ 'mt-8' }
104− prop-size={ 'lg wide' }
105− prop-color={ 'green' }
106− onClick={ this.download }
113− <PaperCollateralRenderer
114− wallet={this.props.wallet}
115− className={'extremely-hidden'}
117− this.setState({paper: data})
119− mode={'REGISTRATION'} />
126Passport.propTypes = {
169Passport.propTypes = {
127− 'patp': PropTypes.string,
128− 'createdOn': PropTypes.string,
129− 'invitedBy': PropTypes.string,
130− 'ethAddress': PropTypes.string,
131 wallet: PropTypes.object
170 wallet: PropTypes.object
134Passport.defaultProps = {
173Passport.defaultProps = {
139 wallet: null
174 wallet: null