@@ -1,7 +1,8 @@
1−import React, { useCallback, useState } from 'react';
1+import React, { useCallback, useState, useMemo } from 'react';
2import { Just, Nothing } from 'folktale/maybe';
2import { Just, Nothing } from 'folktale/maybe';
3import * as azimuth from 'azimuth-js';
3import * as azimuth from 'azimuth-js';
4import { H4, Grid } from 'indigo-react';
4import { H4, Grid } from 'indigo-react';
5+import { filter } from 'lodash';
6import { useHistory } from 'store/history';
7import { useHistory } from 'store/history';
7import { useNetwork } from 'store/network';
8import { useNetwork } from 'store/network';
@@ -21,6 +22,7 @@ import Ticket from './Login/Ticket';
21import Mnemonic from './Login/Mnemonic';
22import Mnemonic from './Login/Mnemonic';
22import Advanced from './Login/Advanced';
23import Advanced from './Login/Advanced';
23import Hardware from './Login/Hardware';
24import Hardware from './Login/Hardware';
25+import useBreakpoints from 'lib/useBreakpoints';
25const NAMES = {
27const NAMES = {
26 TICKET: 'TICKET',
28 TICKET: 'TICKET',
@@ -70,6 +72,20 @@ export default function Login() {
71 const [deducing, setDeducing] = useState(false);
73 const [deducing, setDeducing] = useState(false);
75+ // again, using breakpoint to decide if we're on mobile or not
76+ // see ActivateCode for more details
77+ const hardwareAllowed = useBreakpoints([false, true, true]);
79+ // filter out hardware if mobile
80+ const options = useMemo(
84+ ({ value }) => hardwareAllowed || value !== NAMES.HARDWARE
74 const [currentTab, setCurrentTab] = useState(
90 const [currentTab, setCurrentTab] = useState(
75 walletTypeToViewName(walletType)
91 walletTypeToViewName(walletType)
@@ -132,7 +148,7 @@ export default function Login() {
132 as={Tabs}
148 as={Tabs}
133 className="mt1"
149 className="mt1"
134 views={VIEWS}
150 views={VIEWS}
135− options={OPTIONS}
151+ options={options}
136 currentTab={currentTab}
152 currentTab={currentTab}
137 onTabChange={setCurrentTab}
153 onTabChange={setCurrentTab}