Skip to content

Commit 8164285

Browse files
authored
Merge pull request #141 from blocknative/feature/handle-missing-module
Handle case where wallet module doesn't exist. Closes #140
2 parents 633cac2 + 2f26a83 commit 8164285

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

src/stores.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ export const app: WritableStore = writable({
2222
walletSelectInProgress: false,
2323
walletSelectCompleted: false,
2424
walletCheckInProgress: false,
25-
walletCheckCompleted: false
25+
walletCheckCompleted: false,
26+
autoSelectWallet: ''
2627
})
2728

2829
export const balanceSyncStatus: {

src/views/WalletSelect.svelte

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script lang="ts">
22
import BigNumber from 'bignumber.js'
3-
import { onDestroy } from 'svelte'
43
import { get } from 'svelte/store'
54
import { fade } from 'svelte/transition'
65
@@ -53,25 +52,11 @@
5352
5453
let loadingWallet: string | undefined = undefined
5554
56-
let appState: AppState = {
57-
dappId: '',
58-
networkId: 1,
59-
version: '',
60-
mobileDevice: false,
61-
darkMode: false,
62-
autoSelectWallet: '',
63-
walletSelectInProgress: true,
64-
walletSelectCompleted: false,
65-
walletCheckInProgress: false,
66-
walletCheckCompleted: false
67-
}
68-
69-
const unsubscribe = app.subscribe((store: AppState) => (appState = store))
70-
onDestroy(unsubscribe)
71-
7255
renderWalletSelect()
7356
7457
async function renderWalletSelect() {
58+
const appState = get(app)
59+
7560
wallets = await wallets
7661
7762
const deviceWallets = (wallets as WalletModule[]).filter(
@@ -82,7 +67,10 @@
8267
const module = deviceWallets.find(
8368
(m: WalletModule) => m.name === appState.autoSelectWallet
8469
)
85-
module && handleWalletSelect(module)
70+
71+
app.update(store => ({ ...store, autoSelectWallet: '' }))
72+
73+
module ? handleWalletSelect(module) : finish({ completed: false })
8674
} else {
8775
if (deviceWallets.find(wallet => wallet.preferred)) {
8876
// if preferred wallets, then split in to preferred and not preferred

0 commit comments

Comments
 (0)