From 6ad1081b7e2bb2f1266b15e419ad194404673ea9 Mon Sep 17 00:00:00 2001 From: sairaj mote Date: Wed, 8 Feb 2023 18:47:20 +0530 Subject: [PATCH] better error handling --- index.html | 52 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/index.html b/index.html index eb6db80..12a39a3 100644 --- a/index.html +++ b/index.html @@ -339,18 +339,21 @@ }) router.addRoute('home', renderHome) router.addRoute('address', async state => { - const [floAddress] = state.wildcards - if (!floAddress) return; - let [addressInfo, addressBalance, addressTxs] = await Promise.all([getAddressInfo(floAddress), getAddressBalance(floAddress), getAddressTxs(floAddress)]) - renderElem(getRef("page_container"), html`${render.addressPage({ balance: addressBalance, address: floAddress })}`); - getRef("page_title").textContent = 'Address' - - renderTransactions('address_transaction_container', addressTxs) - const tokenHolders = [] - for (const token in addressInfo) { - tokenHolders.push(render.tokenBalanceCard(token, addressInfo[token].balance)) + try { + const [floAddress] = state.wildcards + if (!floAddress) return; + let [addressInfo, addressBalance, addressTxs] = await Promise.all([getAddressInfo(floAddress), getAddressBalance(floAddress), getAddressTxs(floAddress)]) + renderElem(getRef("page_container"), html`${render.addressPage({ balance: addressBalance, address: floAddress })}`); + getRef("page_title").textContent = 'Address' + renderTransactions('address_transaction_container', addressTxs) + const tokenHolders = [] + for (const token in addressInfo) { + tokenHolders.push(render.tokenBalanceCard(token, addressInfo[token].balance)) + } + renderElem(document.getElementById('token_balance_container'), html`${tokenHolders.length ? tokenHolders : html`
No tokens found
`}`) + } catch (e) { + notify(e, 'error') } - renderElem(document.getElementById('token_balance_container'), html`${tokenHolders}`) }) router.addRoute('token', async state => { const token = state.wildcards[0].toLowerCase() @@ -363,7 +366,7 @@ } renderElem(getRef("page_container"), html`${render.tokenPage(tokenInfo)}`); getRef("page_title").textContent = "Token"; - renderElem(document.getElementById('token_balance_container'), html`${tokenHolders}`) + renderElem(document.getElementById('token_balance_container'), html`${tokenHolders?.length ? tokenHolders : html`
No token holders found
`}`) renderTransactions('token_transaction_container', tokenTransactions) } catch (e) { console.log(e) @@ -428,15 +431,20 @@ renderTransactions('all_transactions_page', allTxs) }) router.addRoute('transaction', async state => { - const [txId] = state.wildcards - if (!txId) return - const [status, txInfo] = await getTxInfo(txId); - if (status) { - renderElem(getRef("page_container"), html`${render.transactionPage(txInfo)}`); - getRef("page_title").textContent = "transaction"; + try { + const [txId] = state.wildcards + if (!txId) return + const [status, txInfo] = await getTxInfo(txId); + if (status) { + renderElem(getRef("page_container"), html`${render.transactionPage(txInfo)}`); + getRef("page_title").textContent = "transaction"; - } else { - renderElem(getRef("page_container"), html`${render.errorPage(txInfo)}`); + } else { + renderElem(getRef("page_container"), html`${render.errorPage(txInfo)}`); + } + } catch (e) { + console.error(e) + renderElem(getRef("page_container"), html`${render.errorPage(e)}`); } }) router.addRoute('404', state => { @@ -1002,7 +1010,7 @@ return str.replace(/ /g, "-"); } - async function renderTransactions(container, transactions) { + async function renderTransactions(container, transactions = []) { let txFrag = getTxFrag(transactions); const renderedTransactions = txFrag.map(tx => { switch (tx.type) { @@ -1023,7 +1031,7 @@ break; } }) - renderElem(document.getElementById(container), html`${renderedTransactions}`) + renderElem(document.getElementById(container), html`${renderedTransactions.length ? renderedTransactions : html`
No transactions found
`}`) } getRef('suggestions').addEventListener('keyup', e => {