on master help sign in
Merge branch 'mino' into feat/final-form
897e4e8Matt Condon (shrugs)
src/components/FooterButton.js+1−1
@@ -6,7 +6,7 @@ import Footer from './Footer';
6export default function FooterButton({ as: As = Button, ...props }) {
6export default function FooterButton({ as: As = Button, ...props }) {
7 return (
7 return (
8 <Footer>
8 <Footer>
9− <Grid className="pt2">
9+ <Grid className="pt4">
10 <Grid.Divider />
10 <Grid.Divider />
11 <Grid.Item full>
11 <Grid.Item full>
12 <As {...props} />
12 <As {...props} />
src/views/Activate/ActivateCode.js+15
@@ -21,6 +21,8 @@ import { useLocalRouter } from 'lib/LocalRouter';
21import useImpliedTicket from 'lib/useImpliedTicket';
21import useImpliedTicket from 'lib/useImpliedTicket';
22import timeout from 'lib/timeout';
22import timeout from 'lib/timeout';
23import useHasDisclaimed from 'lib/useHasDisclaimed';
23import useHasDisclaimed from 'lib/useHasDisclaimed';
24+import useBreakpoints from 'lib/useBreakpoints';
25+import WarningBox from 'components/WarningBox';
24
26
25import BridgeForm from 'form/BridgeForm';
27import BridgeForm from 'form/BridgeForm';
26import SubmitButton from 'form/SubmitButton';
28import SubmitButton from 'form/SubmitButton';
@@ -42,6 +44,12 @@ export default function ActivateCode() {
42 derivedPoint,
44 derivedPoint,
43 setDerivedPoint,
45 setDerivedPoint,
44 } = useActivateFlow();
46 } = useActivateFlow();
47+ // this is a pretty naive way to detect if we're on a mobile device
48+ // (i.e. we're checking the width of the screen)
49+ // but it will suffice for the 99% case and if someone wants to get around it
50+ // well by golly they're allowed to turn their phone into landscape mode
51+ // for this screen
52+ const activationAllowed = useBreakpoints([false, true, true]);
45
53
46 const goToLogin = useCallback(() => history.popAndPush(ROUTE_NAMES.LOGIN), [
54 const goToLogin = useCallback(() => history.popAndPush(ROUTE_NAMES.LOGIN), [
47 history,
55 history,
@@ -129,6 +137,7 @@ export default function ActivateCode() {
129 as={TicketInput}
137 as={TicketInput}
130 name="ticket"
138 name="ticket"
131 label="Activation Code"
139 label="Activation Code"
140+ disabled={!activationAllowed}
132 />
141 />
133
142
134 <Grid.Item full as={FormError} />
143 <Grid.Item full as={FormError} />
@@ -144,6 +153,12 @@ export default function ActivateCode() {
144 ? 'Generating...'
153 ? 'Generating...'
145 : 'Go'}
154 : 'Go'}
146 </Grid.Item>
155 </Grid.Item>
156+
157+ {!activationAllowed && (
158+ <Grid.Item full as={WarningBox} className="mt4">
159+ For your security, please access Bridge on a desktop device.
160+ </Grid.Item>
161+ )}
147 </>
162 </>
148 )}
163 )}
149 </BridgeForm>
164 </BridgeForm>
src/views/Admin/AdminNetworkingKeys.js+1−1
@@ -346,7 +346,7 @@ export default function AdminNetworkingKeys() {
346 <Grid.Item full as={NoticeBox} className="mb2">
346 <Grid.Item full as={NoticeBox} className="mb2">
347 When using a custom network seed, you'll need to download
347 When using a custom network seed, you'll need to download
348 your Arvo keyfile immediately after this transaction is
348 your Arvo keyfile immediately after this transaction is
349− completed—Multipass does not store your seed.
349+ Bridge does not store your seed.
350 </Grid.Item>
350 </Grid.Item>
351 <Grid.Item
351 <Grid.Item
352 full
352 full
src/views/Admin/AdminTransfer.js+1−1
@@ -82,7 +82,7 @@ export default function AdminTransfer() {
82 green3: completed,
82 green3: completed,
83 })}>
83 })}>
84 {completed
84 {completed
85− ? `${values.address} is now the Transfer Proxy for ${name} and can accept the transfer by logging into Multipass themselves. Until they accept your transfer, you will still have ownership over ${name}.`
85+ ? `${values.address} is now the Transfer Proxy for ${name} and can accept the transfer by logging into Bridge themselves. Until they accept your transfer, you will still have ownership over ${name}.`
86 : `Transfer ${name} to a new owner.`}
86 : `Transfer ${name} to a new owner.`}
87 </Grid.Item>
87 </Grid.Item>
88
88
src/views/Login.js+1−1
@@ -116,7 +116,7 @@ export default function Login() {
116 return (
116 return (
117 <View pop={pop} inset>
117 <View pop={pop} inset>
118 <Grid>
118 <Grid>
119− <Grid.Item full as={Crumbs} routes={[{ text: 'Multipass' }]} />
119+ <Grid.Item full as={Crumbs} routes={[{ text: 'Bridge' }]} />
120 <Grid.Item full as={H4} className="mt4">
120 <Grid.Item full as={H4} className="mt4">
121 Login
121 Login
122 </Grid.Item>
122 </Grid.Item>
src/views/Points.js+5−5
@@ -108,7 +108,7 @@ export default function Points() {
108 })
108 })
109 );
109 );
110
110
111− const multipassPoints = [
111+ const allPoints = [
112 ...ownedPoints.filter(p => !outgoingPoints.includes(p)),
112 ...ownedPoints.filter(p => !outgoingPoints.includes(p)),
113 ...managingPoints,
113 ...managingPoints,
114 ...votingPoints,
114 ...votingPoints,
@@ -116,7 +116,7 @@ export default function Points() {
116 ];
116 ];
117
117
118 const displayEmptyState =
118 const displayEmptyState =
119− !loading && incomingPoints.length === 0 && multipassPoints.length === 0;
119+ !loading && incomingPoints.length === 0 && allPoints.length === 0;
120
120
121 // sync display details for known points
121 // sync display details for known points
122 useSyncKnownPoints([
122 useSyncKnownPoints([
@@ -226,12 +226,12 @@ export default function Points() {
226 </Grid.Item>
226 </Grid.Item>
227 )}
227 )}
228
228
229− {multipassPoints.length > 0 && (
229+ {allPoints.length > 0 && (
230 <Grid.Item full as={Grid} gap={1}>
230 <Grid.Item full as={Grid} gap={1}>
231 <Grid.Item full as={H5}>
231 <Grid.Item full as={H5}>
232− {pluralize(multipassPoints.length, 'Multipass', 'Multipasses')}
232+ {pluralize(allPoints.length, 'Point')}
233 </Grid.Item>
233 </Grid.Item>
234− <Grid.Item full as={PointList} points={multipassPoints} />
234+ <Grid.Item full as={PointList} points={allPoints} />
235 </Grid.Item>
235 </Grid.Item>
236 )}
236 )}
237
237