Skip to content

Commit f115e02

Browse files
committed
Add delay for loading spinner
1 parent e402413 commit f115e02

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/views/WalletCheck.svelte

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@
186186
}
187187
188188
function runModules(modules: WalletCheckModule[]) {
189-
loadingModal = true
190189
return new Promise(
191190
async (
192191
resolve: (result: {
@@ -198,12 +197,10 @@
198197
const result = await invalidState(module, currentState)
199198
200199
if (result) {
201-
loadingModal = false
202200
return resolve(result)
203201
}
204202
}
205203
206-
loadingModal = false
207204
return resolve({ modal: undefined, module: undefined })
208205
}
209206
)
@@ -238,7 +235,25 @@
238235
}
239236
} else {
240237
// module returned a promise, so await it for val
241-
const modal = await result
238+
// show loading spinner if promise doesn't resolve within 150ms
239+
let modal
240+
await new Promise(resolve => {
241+
let completed: boolean = false
242+
243+
result.then(res => {
244+
loadingModal = false
245+
completed = true
246+
modal = res
247+
resolve()
248+
})
249+
250+
setTimeout(() => {
251+
if (!completed) {
252+
loadingModal = true
253+
}
254+
}, 150)
255+
})
256+
242257
if (modal) {
243258
validateModal(modal)
244259
return {
@@ -294,7 +309,7 @@
294309

295310
{#if loadingModal}
296311
<Modal closeable={false}>
297-
<Spinner />
312+
<Spinner description="Checking wallet" />
298313
</Modal>
299314
{/if}
300315

0 commit comments

Comments
 (0)