@@ -1,6 +1,6 @@
1import React, { useCallback, useState } from 'react';
1import React, { useCallback, useState } from 'react';
2import cn from 'classnames';
2import cn from 'classnames';
3−import { Grid } from 'indigo-react';
3+import { Flex, Grid } from 'indigo-react';
@@ -9,6 +9,7 @@ import {
12} from '@tlon/indigo-react';
13} from '@tlon/indigo-react';
13import Web3 from 'web3';
14import Web3 from 'web3';
14import { Just } from 'folktale/maybe';
15import { Just } from 'folktale/maybe';
@@ -57,12 +58,21 @@ export default function LoginSelector({
57 useLoginView(WALLET_TYPES.WALLET_CONNECT);
58 useLoginView(WALLET_TYPES.WALLET_CONNECT);
59 const { push, names }: any = useHistory();
60 const { push, names }: any = useHistory();
60− const { setWallet, setWalletType, setAuthToken }: any = useWallet();
63+ setWalletType,
68+ }: any = useWallet();
61 const { setMetamask }: any = useNetwork();
69 const { setMetamask }: any = useNetwork();
62 const [showModal, setShowModal] = useState(false);
70 const [showModal, setShowModal] = useState(false);
63 // TODO: do we still need this? currently not being set
71 // TODO: do we still need this? currently not being set
64 const [metamaskSelected, setMetamaskSelected] = useState(false);
72 const [metamaskSelected, setMetamaskSelected] = useState(false);
74+ const [showAdvanced, setShowAdvanced] = useState(false);
68 authenticate,
78 authenticate,
@@ -96,6 +106,15 @@ export default function LoginSelector({
97 const wallet = new MetamaskWallet(accounts[0]);
107 const wallet = new MetamaskWallet(accounts[0]);
98 const web3 = new Web3(window.ethereum);
108 const web3 = new Web3(window.ethereum);
109+ setWallet(Just(wallet));
110+ setWalletType(WALLET_TYPES.METAMASK);
112+ if (skipLoginSigning) {
99 const authToken = await getAuthToken({
118 const authToken = await getAuthToken({
100 address: wallet.address,
119 address: wallet.address,
101 walletType: WALLET_TYPES.METAMASK,
120 walletType: WALLET_TYPES.METAMASK,
@@ -103,8 +122,6 @@ export default function LoginSelector({
105 setAuthToken(Just(authToken));
124 setAuthToken(Just(authToken));
106− setWallet(Just(wallet));
107− setWalletType(WALLET_TYPES.METAMASK);
109 goHome();
126 goHome();
110 } catch (e) {
127 } catch (e) {
@@ -112,7 +129,15 @@ export default function LoginSelector({
112 setMetamask(false);
129 setMetamask(false);
113 setMetamaskSelected(false);
130 setMetamaskSelected(false);
115− }, [setAuthToken, setWallet, setWalletType, setMetamask, goHome]);
135+ setWalletType,
117 const onSubmitWalletConnect = useCallback(async () => {
142 const onSubmitWalletConnect = useCallback(async () => {
@@ -199,6 +224,33 @@ export default function LoginSelector({
199 onClick={() => setShowModal(true)}>
224 onClick={() => setShowModal(true)}>
200 <Icon icon="Info" />I have a wallet type not supported here
225 <Icon icon="Info" />I have a wallet type not supported here
201 </Grid.Item>
226 </Grid.Item>
228+ className="advanced-options"
231+ onClick={() => setShowAdvanced(!showAdvanced)}>
234+ display="inline-block"
235+ icon={showAdvanced ? 'ChevronNorth' : 'ChevronSouth'}
244+ onClick={() => setSkipLoginSigning(!skipLoginSigning)}>
245+ <Box className="skip-signing">
247+ selected={skipLoginSigning}
248+ onClick={() => setSkipLoginSigning(!skipLoginSigning)}
250+ <Text>Skip Signing on Login</Text>
202 <Modal show={showModal} hide={() => setShowModal(false)}>
254 <Modal show={showModal} hide={() => setShowModal(false)}>
203 <Box className="info-modal-content">
255 <Box className="info-modal-content">
204 <div className="fw-bold mb5">Other Wallet Types</div>
256 <div className="fw-bold mb5">Other Wallet Types</div>