@@ -3,7 +3,7 @@ import { Just } from 'folktale/maybe';
3import cn from 'classnames';
3import cn from 'classnames';
4import * as azimuth from 'azimuth-js';
4import * as azimuth from 'azimuth-js';
5import * as kg from 'urbit-key-generation/dist/index';
5import * as kg from 'urbit-key-generation/dist/index';
6−import { Grid, CheckboxInput } from 'indigo-react';
6+import { Grid, CheckboxInput, Flex, ToggleInput } from 'indigo-react';
7import { FORM_ERROR } from 'final-form';
7import { FORM_ERROR } from 'final-form';
9import { useNetwork } from 'store/network';
9import { useNetwork } from 'store/network';
@@ -116,6 +116,7 @@ export default function Ticket({ className, goHome }) {
117 composeValidator(
117 composeValidator(
119+ useAdvanced: buildCheckboxValidator(),
119 usePassphrase: buildCheckboxValidator(),
120 usePassphrase: buildCheckboxValidator(),
120 useShards: buildCheckboxValidator(),
121 useShards: buildCheckboxValidator(),
121 point: buildPointValidator(4),
122 point: buildPointValidator(4),
@@ -123,6 +124,7 @@ export default function Ticket({ className, goHome }) {
123 shard1: buildPatqValidator(),
124 shard1: buildPatqValidator(),
124 shard2: buildPatqValidator(),
125 shard2: buildPatqValidator(),
125 shard3: buildPatqValidator(),
126 shard3: buildPatqValidator(),
127+ showTicket: buildCheckboxValidator(),
126 passphrase: buildPassphraseValidator(),
128 passphrase: buildPassphraseValidator(),
128 validateForm
130 validateForm
@@ -135,6 +137,8 @@ export default function Ticket({ className, goHome }) {
135 point: impliedPoint || '',
137 point: impliedPoint || '',
136 usePasshrase: false,
138 usePasshrase: false,
137 useShards: false,
139 useShards: false,
139 [impliedPoint]
143 [impliedPoint]
@@ -146,7 +150,7 @@ export default function Ticket({ className, goHome }) {
146 onSubmit={onSubmit}
150 onSubmit={onSubmit}
147 afterSubmit={goHome}
151 afterSubmit={goHome}
148 initialValues={initialValues}>
152 initialValues={initialValues}>
149− {({ handleSubmit, submitting }) => (
153+ {({ handleSubmit, values, submitting }) => (
151 <Grid.Item full as={PointInput} name="point" />
155 <Grid.Item full as={PointInput} name="point" />
@@ -154,17 +158,38 @@ export default function Ticket({ className, goHome }) {
154 <Grid.Item
158 <Grid.Item
156 as={TicketInput}
160 as={TicketInput}
161+ type={values.showTicket ? 'text' : 'password'}
157 name="ticket"
162 name="ticket"
158 label="Master Ticket"
163 label="Master Ticket"
160 </Condition>
165 </Condition>
162 <Condition when="useShards" is={true}>
167 <Condition when="useShards" is={true}>
163− <Grid.Item full as={TicketInput} name="shard1" label="Shard 1" />
170+ as={TicketInput}
171+ type={values.showTicket ? 'text' : 'password'}
164− <Grid.Item full as={TicketInput} name="shard2" label="Shard 2" />
177+ as={TicketInput}
178+ type={values.showTicket ? 'text' : 'password'}
165− <Grid.Item full as={TicketInput} name="shard3" label="Shard 3" />
184+ as={TicketInput}
185+ type={values.showTicket ? 'text' : 'password'}
166 </Condition>
189 </Condition>
191+ <Grid.Item full as={CheckboxInput} name="showTicket" label="Show" />
168 <Condition when="usePassphrase" is={true}>
193 <Condition when="usePassphrase" is={true}>
169 <Grid.Item
194 <Grid.Item
@@ -174,19 +199,6 @@ export default function Ticket({ className, goHome }) {
175 </Condition>
200 </Condition>
180− name="usePassphrase"
190 <Grid.Item full as={FormError} />
202 <Grid.Item full as={FormError} />
192 <Grid.Item full as={SubmitButton} handleSubmit={handleSubmit}>
204 <Grid.Item full as={SubmitButton} handleSubmit={handleSubmit}>
@@ -198,6 +210,29 @@ export default function Ticket({ className, goHome }) {
198 : 'Continue'
210 : 'Continue'
200 </Grid.Item>
212 </Grid.Item>
214+ <Grid.Item full as={Flex} justify="between">
221+ <Condition when="useAdvanced" is={true}>
222+ <Flex.Item as={Flex}>
225+ name="usePassphrase"
203 </BridgeForm>
238 </BridgeForm>