Proposed UI updates to improve readability and information organization on the token details page
Details
- Reviewers
bytesofman - Group Reviewers
Restricted Project - Commits
- rABCc69e484a47e0: [cashtab] Token view UI updates
npm run start and visit a token page /#/token/tokenid
review the new design and let me know any feedback
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- cashtab-token-details-ui
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 32207 Build 63904: Build Diff cashtab-tests Build 63903: arc lint + arc unit
Event Timeline
Failed tests logs:
====== CashTab Unit Tests: <Token /> For an uncached token with no balance, we show a spinner while loading the token info, then show an info screen and open agora offers ======
TestingLibraryElementError: Unable to find an element with the text: Supply:. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-AnqlK jzmxJP"
>
<section
aria-atomic="false"
aria-label="Notifications Alt+T"
aria-live="polite"
aria-relevant="additions text"
class="Toastify"
/>
<div
class="sc-keFjpB kpRoMq"
>
<div
class="sc-jWojfa dWofVP"
>
<div
class="sc-dTLGrV hVKRQa"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<div
class="sc-hdPSEv NMixZ"
>
<div
class="sc-bqjOQT bJwGKq"
>
<select
class="sc-jkCMRl gBdLKu"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-crNyjn fdrrlO"
value="Transaction Fixtures"
>
Transaction Fixtures
</option>
</select>
<div
class="sc-lcpuFF iSIgFF"
>
<button
aria-label="Copy ecash:qqa9lv3kjd8vq7952p7rq0f6lkpqvlu0cydvxtd70g"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN bSWkUh"
>
<input
checked=""
class="sc-gFaPwZ iPJMNd"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="show-hide-balance"
>
<span
class="sc-dymIpo hGwQkt"
data-off=""
data-on=""
/>
<span
class="sc-bnXvFD cpOMDW"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-cmIlrE dkSzlg"
title="Wallet Info"
>
<div
class="sc-cpHetk jEKVml"
>
<div
class="sc-nrwXf bsChRe"
title="Balance XEC"
>
9,513.12
XEC
</div>
</div>
<div
class="sc-eitiEO lmPAIm"
title="Balance in Local Currency"
>
$
0.29
USD
</div>
<p
class="sc-bhlBdH umymk"
title="Price in Local Currency"
>
1
XEC
=
0.00003000
USD
</p>
</div>
</div>
<div
class="sc-chAAoq bzVCQv"
>
<div
class="sc-ebFjAB gdAnYe"
>
<div
class="sc-cooIXK egNoCH"
title="Token Stats"
>
<div
class="sc-kZmsYB KVWTe"
>
<button
class="sc-iBEsjs jWuvKl"
>
<img
alt="icon for aed861a31b96934b88c0252ede135cb9700d7649f69191235087a3030e553cb1"
height="128"
src="https://icons.etokens.cash/128/aed861a31b96934b88c0252ede135cb9700d7649f69191235087a3030e553cb1.png"
width="128"
/>
</button>
<h2>
Cachet
</h2>
<span>
CACHET
</span>
</div>
<div
class="sc-fcdeBU kmDggL"
>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Type
</label>
<div>
<div
class="sc-LKuAh jgyJGf"
>
SLP
<button
aria-label="Click for more info about this token type"
class="sc-cJSrbW kZNvLw"
>
<svg
title="More Info"
/>
</button>
</div>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Token Id
</label>
<div>
<a
href="https://explorer.e.cash/tx/aed861a31b96934b88c0252ede135cb9700d7649f69191235087a3030e553cb1"
rel="noopener noreferrer"
target="_blank"
>
aed
...
cb1
</a>
<button
aria-label="Copy Token ID"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Decimals
</label>
<div>
2
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
URL
</label>
<div
class="sc-kZmsYB sc-RcBXQ dyDgLR"
>
<a
href="https://cashtab.com/"
rel="noreferrer"
target="_blank"
>
cashtab.com/
</a>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Created
</label>
<div>
Mar 30, 2024
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Genesis Qty
</label>
<div>
100,000.00
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Supply
</label>
<div>
29,999,987,980,000,000.00 (fixed)
</div>
</div>
</div>
</div>
<div
class="sc-eKZiaR cOnhGl"
>
<div
class="sc-jzJRlG eQTBdJ"
title="Loading"
>
<div />
<div />
<div />
<div />
</div>
</div>
<div
class="sc-bbmXgH fbVlNd"
>
You do not hold this token.
</div>
</div>
</div>
</div>
<div
class="sc-kVrTmx exLrES"
>
<div
class="sc-fHSTwm jBcETl"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<button
class="sc-jvEmr hqZIZM"
>
<span>
Transactions
</span>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-jvEmr hqZIZM"
>
<span>
Send
</span>
<svg
title="tx-sent"
/>
</button>
<button
aria-label="Tokens"
class="sc-jvEmr hqZIZM"
>
<span>
Tokens
</span>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-jvEmr hqZIZM"
>
<span>
Receive
</span>
<svg
title="tx-received"
/>
</button>
<div
class="sc-ekkqgF dcQEnG"
title="Show Other Screens"
>
<span
class="sc-iBmynh dPVmzy"
/>
<div
class="sc-fKGOjr buAdOz"
title="Other Screens"
>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Agora
</p>
<svg
title="Meme Agora"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/Token.test.js:830:23)
====== CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 NFT ======
TestingLibraryElementError: Found multiple elements with the text: Gordon Chen
Here are the matching elements:
Ignored nodes: comments, script, style
<div
class="sc-gtfDJT fVOEnC"
>
Gordon Chen
</div>
Ignored nodes: comments, script, style
<h2>
Gordon Chen
</h2>
(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-AnqlK jzmxJP"
>
<section
aria-atomic="false"
aria-label="Notifications Alt+T"
aria-live="polite"
aria-relevant="additions text"
class="Toastify"
/>
<div
class="sc-keFjpB kpRoMq"
>
<div
class="sc-jWojfa dWofVP"
>
<div
class="sc-dTLGrV hVKRQa"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<div
class="sc-hdPSEv NMixZ"
>
<div
class="sc-bqjOQT bJwGKq"
>
<select
class="sc-jkCMRl elqxlt"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-crNyjn fdrrlO"
value="Token Test"
>
Token Test
</option>
</select>
<div
class="sc-lcpuFF iSIgFF"
>
<button
aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN bSWkUh"
>
<input
checked=""
class="sc-gFaPwZ iPJMNd"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="show-hide-balance"
>
<span
class="sc-dymIpo hGwQkt"
data-off=""
data-on=""
/>
<span
class="sc-bnXvFD cpOMDW"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-cmIlrE dkSzlg"
title="Wallet Info"
>
<div
class="sc-cpHetk jEKVml"
>
<div
class="sc-nrwXf bsChRe"
title="Balance XEC"
>
9,970.81
XEC
</div>
</div>
<div
class="sc-eitiEO lmPAIm"
title="Balance in Local Currency"
>
$
0.30
USD
</div>
<p
class="sc-bhlBdH umymk"
title="Price in Local Currency"
>
1
XEC
=
0.00003000
USD
</p>
</div>
</div>
<div
class="sc-chAAoq bzVCQv"
>
<div
class="sc-ebFjAB gdAnYe"
>
<div
class="sc-gtfDJT fVOEnC"
>
Gordon Chen
</div>
<div
class="sc-fOICqy jlkXkw"
>
NFT from collection "
<a
href="/token/12a049d0da64652b4e8db68b6052ad0cda43cf0269190fe81040bed65ca926a3"
>
The Four Half-Coins of Jin-qua
</a>
"
</div>
<div
class="sc-cooIXK egNoCH"
title="Token Stats"
>
<div
class="sc-kZmsYB KVWTe"
>
<button
class="sc-iBEsjs jWuvKl"
>
<img
alt="icon for 5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
height="128"
src="https://icons.etokens.cash/128/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326.png"
width="128"
/>
</button>
<h2>
Gordon Chen
</h2>
<span>
GC
</span>
</div>
<div
class="sc-fcdeBU kmDggL"
>
<div
class="sc-iSDuPN iBWdux"
>
<label>
Your Balance
</label>
<div>
1
GC
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Type
</label>
<div>
<div
class="sc-LKuAh jgyJGf"
>
NFT
<button
aria-label="Click for more info about this token type"
class="sc-cJSrbW kZNvLw"
>
<svg
title="More Info"
/>
</button>
</div>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Token Id
</label>
<div>
<a
href="https://explorer.e.cash/tx/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
rel="noopener noreferrer"
target="_blank"
>
5d9
...
326
</a>
<button
aria-label="Copy Token ID"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
URL
</label>
<div
class="sc-kZmsYB sc-RcBXQ dyDgLR"
>
<a
href="https://en.wikipedia.org/wiki/Tai-Pan_(novel)"
rel="noreferrer"
target="_blank"
>
en.wikipedia.org/wiki/Tai-Pan_(novel)
</a>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Created
</label>
<div>
Jan 1, 2022
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Hash
</label>
<div>
824
...
d72
<button
aria-label="Copy Token ID"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
</div>
</div>
<div
class="sc-likbZx ezJTox"
>
<div
class="sc-bbmXgH fbVlNd"
>
This NFT is not for sale
</div>
</div>
<div
class="sc-hzNEM kMIGYt"
title="Token Actions"
>
<div
class="sc-fQejPQ kELCPK"
>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN iogvmX"
>
<input
class="sc-gFaPwZ iPJMNd"
id="Toggle Sell NFT"
name="Toggle Sell NFT"
title="Toggle Sell NFT"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="Toggle Sell NFT"
>
<span
class="sc-dymIpo ebJcUo"
data-off="💰"
data-on="💰"
/>
<span
class="sc-bnXvFD bEXILN"
/>
</label>
</div>
</div>
<div
class="sc-jqCOkK sCOdD"
>
Sell
Gordon Chen
(
GC
)
</div>
</div>
<div
class="sc-chbbiW fJzeOD"
>
<div
class="sc-kxynE bAMoGW"
>
<div
class="sc-dqBHgY ddqJJj"
>
<div
class="sc-gxMtzJ dXNKcv"
>
<input
class="sc-dfVpRl sc-hwwEjo iNMklK"
name="nftListPrice"
placeholder="Enter NFT list price"
type="number"
value=""
/>
<select
class="sc-kIPQKe sc-ibxdXY bRndSs"
data-testid="currency-select-dropdown"
>
<option
class="sc-RefOD CkCRx"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-RefOD CkCRx"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
</div>
<div
class="sc-iQKALj fwXoQo"
/>
</div>
</div>
</div>
<div
class="sc-chbbiW fJzeOD"
>
<button
class="sc-caSCKo sc-kjoXOD dWPhlM"
disabled=""
style="margin-top: 12px;"
>
List
Gordon Chen
</button>
</div>
<div
class="sc-fQejPQ kELCPK"
>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN iogvmX"
>
<input
class="sc-gFaPwZ iPJMNd"
id="Toggle Send"
name="Toggle Send"
title="Toggle Send"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="Toggle Send"
>
<span
class="sc-dymIpo ebJcUo"
data-off="➡️"
data-on="➡️"
/>
<span
class="sc-bnXvFD bEXILN"
/>
</label>
</div>
</div>
<div
class="sc-jqCOkK sCOdD"
>
Send
Gordon Chen
(
GC
)
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="sc-kVrTmx exLrES"
>
<div
class="sc-fHSTwm jBcETl"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<button
class="sc-jvEmr hqZIZM"
>
<span>
Transactions
</span>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-jvEmr hqZIZM"
>
<span>
Send
</span>
<svg
title="tx-sent"
/>
</button>
<button
aria-label="Tokens"
class="sc-jvEmr hqZIZM"
>
<span>
Tokens
</span>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-jvEmr hqZIZM"
>
<span>
Receive
</span>
<svg
title="tx-received"
/>
</button>
<div
class="sc-ekkqgF dcQEnG"
title="Show Other Screens"
>
<span
class="sc-iBmynh dPVmzy"
/>
<div
class="sc-fKGOjr buAdOz"
title="Other Screens"
>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Agora
</p>
<svg
title="Meme Agora"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:20:35)
at getMultipleElementsFoundError (/work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:23:10)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:55:13
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:907:23)
====== CashTab Unit Tests: <Token /> available actions rendered SLP1 NFT page will update cashtab token cache for the NFT if it does not include groupTokenId, and for its parent if it is not in cache ======
TestingLibraryElementError: Found multiple elements with the text: Gordon Chen
Here are the matching elements:
Ignored nodes: comments, script, style
<div
class="sc-gtfDJT fVOEnC"
>
Gordon Chen
</div>
Ignored nodes: comments, script, style
<h2>
Gordon Chen
</h2>
(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).
Ignored nodes: comments, script, style
<body>
<div>
<div
class="sc-AnqlK jzmxJP"
>
<section
aria-atomic="false"
aria-label="Notifications Alt+T"
aria-live="polite"
aria-relevant="additions text"
class="Toastify"
/>
<div
class="sc-keFjpB kpRoMq"
>
<div
class="sc-jWojfa dWofVP"
>
<div
class="sc-dTLGrV hVKRQa"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<div
class="sc-hdPSEv NMixZ"
>
<div
class="sc-bqjOQT bJwGKq"
>
<select
class="sc-jkCMRl elqxlt"
data-testid="wallet-select"
id="wallets"
name="wallets"
>
<option
class="sc-crNyjn fdrrlO"
value="Token Test"
>
Token Test
</option>
</select>
<div
class="sc-lcpuFF iSIgFF"
>
<button
aria-label="Copy ecash:qqq9f9z3uhpzkxrgdjkd7dxuuey7tmpmugpmnw0kue"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN bSWkUh"
>
<input
checked=""
class="sc-gFaPwZ iPJMNd"
id="show-hide-balance"
name="show-hide-balance"
title="show-hide-balance"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="show-hide-balance"
>
<span
class="sc-dymIpo hGwQkt"
data-off=""
data-on=""
/>
<span
class="sc-bnXvFD cpOMDW"
/>
</label>
</div>
</div>
</div>
</div>
<div
class="sc-cmIlrE dkSzlg"
title="Wallet Info"
>
<div
class="sc-cpHetk jEKVml"
>
<div
class="sc-nrwXf bsChRe"
title="Balance XEC"
>
9,970.81
XEC
</div>
</div>
<div
class="sc-eitiEO lmPAIm"
title="Balance in Local Currency"
>
$
0.30
USD
</div>
<p
class="sc-bhlBdH umymk"
title="Price in Local Currency"
>
1
XEC
=
0.00003000
USD
</p>
</div>
</div>
<div
class="sc-chAAoq bzVCQv"
>
<div
class="sc-ebFjAB gdAnYe"
>
<div
class="sc-gtfDJT fVOEnC"
>
Gordon Chen
</div>
<div
class="sc-fOICqy jlkXkw"
>
NFT from collection "
<a
href="/token/12a049d0da64652b4e8db68b6052ad0cda43cf0269190fe81040bed65ca926a3"
>
The Four Half-Coins of Jin-qua
</a>
"
</div>
<div
class="sc-cooIXK egNoCH"
title="Token Stats"
>
<div
class="sc-kZmsYB KVWTe"
>
<button
class="sc-iBEsjs jWuvKl"
>
<img
alt="icon for 5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
height="128"
src="https://icons.etokens.cash/128/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326.png"
width="128"
/>
</button>
<h2>
Gordon Chen
</h2>
<span>
GC
</span>
</div>
<div
class="sc-fcdeBU kmDggL"
>
<div
class="sc-iSDuPN iBWdux"
>
<label>
Your Balance
</label>
<div>
1
GC
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Type
</label>
<div>
<div
class="sc-LKuAh jgyJGf"
>
NFT
<button
aria-label="Click for more info about this token type"
class="sc-cJSrbW kZNvLw"
>
<svg
title="More Info"
/>
</button>
</div>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Token Id
</label>
<div>
<a
href="https://explorer.e.cash/tx/5d9bff67b99e3f93c245a2d832ae40b67f39b79e5cf1daefe97fe6a8a2228326"
rel="noopener noreferrer"
target="_blank"
>
5d9
...
326
</a>
<button
aria-label="Copy Token ID"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
URL
</label>
<div
class="sc-kZmsYB sc-RcBXQ dyDgLR"
>
<a
href="https://en.wikipedia.org/wiki/Tai-Pan_(novel)"
rel="noreferrer"
target="_blank"
>
en.wikipedia.org/wiki/Tai-Pan_(novel)
</a>
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Created
</label>
<div>
Jan 1, 2022
</div>
</div>
<div
class="sc-iSDuPN eDnwXA"
>
<label>
Hash
</label>
<div>
824
...
d72
<button
aria-label="Copy Token ID"
class="sc-cJSrbW kZNvLw"
>
<svg
title="copy-paste"
/>
</button>
</div>
</div>
</div>
</div>
<div
class="sc-likbZx ezJTox"
>
<div
class="sc-bbmXgH fbVlNd"
>
This NFT is not for sale
</div>
</div>
<div
class="sc-hzNEM kMIGYt"
title="Token Actions"
>
<div
class="sc-fQejPQ kELCPK"
>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN iogvmX"
>
<input
class="sc-gFaPwZ iPJMNd"
id="Toggle Sell NFT"
name="Toggle Sell NFT"
title="Toggle Sell NFT"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="Toggle Sell NFT"
>
<span
class="sc-dymIpo ebJcUo"
data-off="💰"
data-on="💰"
/>
<span
class="sc-bnXvFD bEXILN"
/>
</label>
</div>
</div>
<div
class="sc-jqCOkK sCOdD"
>
Sell
Gordon Chen
(
GC
)
</div>
</div>
<div
class="sc-chbbiW fJzeOD"
>
<div
class="sc-kxynE bAMoGW"
>
<div
class="sc-dqBHgY ddqJJj"
>
<div
class="sc-gxMtzJ dXNKcv"
>
<input
class="sc-dfVpRl sc-hwwEjo iNMklK"
name="nftListPrice"
placeholder="Enter NFT list price"
type="number"
value=""
/>
<select
class="sc-kIPQKe sc-ibxdXY bRndSs"
data-testid="currency-select-dropdown"
>
<option
class="sc-RefOD CkCRx"
data-testid="xec-option"
value="XEC"
>
XEC
</option>
<option
class="sc-RefOD CkCRx"
data-testid="fiat-option"
value="USD"
>
USD
</option>
</select>
</div>
<div
class="sc-iQKALj fwXoQo"
/>
</div>
</div>
</div>
<div
class="sc-chbbiW fJzeOD"
>
<button
class="sc-caSCKo sc-kjoXOD dWPhlM"
disabled=""
style="margin-top: 12px;"
>
List
Gordon Chen
</button>
</div>
<div
class="sc-fQejPQ kELCPK"
>
<div
class="sc-eerKOB cvXwwv"
>
<div
class="sc-emmjRN iogvmX"
>
<input
class="sc-gFaPwZ iPJMNd"
id="Toggle Send"
name="Toggle Send"
title="Toggle Send"
type="checkbox"
/>
<label
class="sc-cpmLhU iUeRKn"
for="Toggle Send"
>
<span
class="sc-dymIpo ebJcUo"
data-off="➡️"
data-on="➡️"
/>
<span
class="sc-bnXvFD bEXILN"
/>
</label>
</div>
</div>
<div
class="sc-jqCOkK sCOdD"
>
Send
Gordon Chen
(
GC
)
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="sc-kVrTmx exLrES"
>
<div
class="sc-fHSTwm jBcETl"
>
<img
alt="cashtab"
class="sc-ivVeuv evHkvQ"
src="test-file-stub"
/>
</div>
<button
class="sc-jvEmr hqZIZM"
>
<span>
Transactions
</span>
<svg />
</button>
<button
aria-label="Send Screen"
class="sc-jvEmr hqZIZM"
>
<span>
Send
</span>
<svg
title="tx-sent"
/>
</button>
<button
aria-label="Tokens"
class="sc-jvEmr hqZIZM"
>
<span>
Tokens
</span>
<svg
title="Tokens"
/>
</button>
<button
aria-label="Receive"
class="sc-jvEmr hqZIZM"
>
<span>
Receive
</span>
<svg
title="tx-received"
/>
</button>
<div
class="sc-ekkqgF dcQEnG"
title="Show Other Screens"
>
<span
class="sc-iBmynh dPVmzy"
/>
<div
class="sc-fKGOjr buAdOz"
title="Other Screens"
>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallet Backup
</p>
<svg
title="wallet"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Wallets
</p>
<svg
title="wallets"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Listed NFTs
</p>
<svg
title="NFT"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Agora
</p>
<svg
title="Meme Agora"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Contacts
</p>
<svg
title="Contact List"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Airdrop
</p>
<svg
title="tx-airdrop"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Rewards
</p>
<svg
title="Cashtab Rewards"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Sign & Verify
</p>
<svg
class="sc-htpNat bPFBeM"
/>
</button>
<button
class="sc-hycgNl bNyILw"
>
<p>
Settings
</p>
<svg
title="settings"
/>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
at getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:20:35)
at getMultipleElementsFoundError (/work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:23:10)
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:55:13
at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
at Object.getByText (/work/cashtab/src/components/Etokens/__tests__/TokenActions.test.js:1186:23)Each failure log is accessible here:
CashTab Unit Tests: <Token /> For an uncached token with no balance, we show a spinner while loading the token info, then show an info screen and open agora offers
CashTab Unit Tests: <Token /> available actions rendered We can list an SLP1 NFT
CashTab Unit Tests: <Token /> available actions rendered SLP1 NFT page will update cashtab token cache for the NFT if it does not include groupTokenId, and for its parent if it is not in cache
nice looks much better.
see inline comment, we no longer use BalanceHeaderToken anywhere in Cashtab so it should be deleted
| cashtab/src/components/Etokens/Token/index.tsx | ||
|---|---|---|
| 15 ↗ | (On Diff #52368) | grep -r BalanceHeaderToken src/ --> this component is not used anywhere in the app now delete components/Common/BalanceHeaderToken.tsx |
| 2239 ↗ | (On Diff #52368) | nice, yeah this balance header token thing was always kinda garbage |