@@ -25,7 +25,8 @@ class Ticket extends React.Component {
26 this.state = {
26 this.state = {
27 ticket: '',
27 ticket: '',
28− pointName: ''
28+ pointName: '',
31 this.pointPlaceholder = placeholder(4)
32 this.pointPlaceholder = placeholder(4)
@@ -53,6 +54,11 @@ class Ticket extends React.Component {
54 async walletFromTicket(ticket, pointName) {
55 async walletFromTicket(ticket, pointName) {
55 const { setWallet, setUrbitWallet } = this.props
56 const { setWallet, setUrbitWallet } = this.props
56 const urbitWallet = await kg.generateWallet({
62 const urbitWallet = await kg.generateWallet({
57 ticket: ticket,
63 ticket: ticket,
58 ship: ob.patp2dec(pointName)
64 ship: ob.patp2dec(pointName)
@@ -61,6 +67,10 @@ class Ticket extends React.Component {
61 const wallet = walletFromMnemonic(mnemonic, DEFAULT_HD_PATH)
67 const wallet = walletFromMnemonic(mnemonic, DEFAULT_HD_PATH)
62 setWallet(wallet)
68 setWallet(wallet)
63 setUrbitWallet(Maybe.Just(urbitWallet))
69 setUrbitWallet(Maybe.Just(urbitWallet))
66 render() {
76 render() {
@@ -99,7 +109,7 @@ class Ticket extends React.Component {
100 <TicketInput
110 <TicketInput
101 className='mono mt-8'
111 className='mono mt-8'
102− prop-size='md'
112+ prop-size='lg'
103 prop-format='innerLabel'
113 prop-format='innerLabel'
104 type='text'
114 type='text'
105 name='ticket'
115 name='ticket'
@@ -112,9 +122,16 @@ class Ticket extends React.Component {
113 className={'mt-8'}
123 className={'mt-8'}
114 prop-size={'lg wide'}
124 prop-size={'lg wide'}
125+ disabled={this.state.isUnlocking || !Maybe.Nothing.hasInstance(wallet)}
115 // prop-color={this.buttonTriState(wallet)}
126 // prop-color={this.buttonTriState(wallet)}
116 onClick={() => this.walletFromTicket(ticket, pointName)}>
127 onClick={() => this.walletFromTicket(ticket, pointName)}>
129+ <span className="relative">
130+ {this.state.isUnlocking &&
131+ <span className="btn-spinner"></span>
117− {'Unlock Wallet →'}
133+ {'Unlock Wallet →'}
118 </Button>
135 </Button>