diff --git a/web/cashtab/src/components/Home/TokenListItem.js b/web/cashtab/src/components/Home/TokenListItem.js --- a/web/cashtab/src/components/Home/TokenListItem.js +++ b/web/cashtab/src/components/Home/TokenListItem.js @@ -4,10 +4,9 @@ import makeBlockie from 'ethereum-blockies-base64'; import { Img } from 'react-image'; import { currency } from '@components/Common/Ticker'; +import TokenIcon from '@components/Tokens/TokenIcon'; -const TokenIcon = styled.div` - height: 32px; - width: 32px; +const TokenIconWrapper = styled.div` margin-right: 10px; `; @@ -40,38 +39,9 @@ return ( - - {currency.tokenIconsUrl !== '' ? ( - {`identicon - } - /> - ) : ( - {`identicon - )} - + + +

{ticker}

diff --git a/web/cashtab/src/components/Home/Tx.js b/web/cashtab/src/components/Home/Tx.js --- a/web/cashtab/src/components/Home/Tx.js +++ b/web/cashtab/src/components/Home/Tx.js @@ -9,10 +9,10 @@ UnparsedIcon, } from '@components/Common/CustomIcons'; import { currency } from '@components/Common/Ticker'; -import makeBlockie from 'ethereum-blockies-base64'; -import { Img } from 'react-image'; + import { fromLegacyDecimals } from '@utils/cashMethods'; import { formatBalance, formatDate } from '@utils/formatting'; +import TokenIcon from '@components/Tokens/TokenIcon'; const TxIcon = styled.div` svg { @@ -337,35 +337,10 @@ {data.tokenTx && data.tokenInfo ? ( <> - {currency.tokenIconsUrl !== '' ? ( - {`identicon - } - /> - ) : ( - {`identicon - )} + {data.outgoingTx ? ( diff --git a/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap b/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap --- a/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap +++ b/web/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap @@ -278,7 +278,7 @@ className="sc-kGXeez iEFsHR" >

TBS diff --git a/web/cashtab/src/components/Send/SendToken.js b/web/cashtab/src/components/Send/SendToken.js --- a/web/cashtab/src/components/Send/SendToken.js +++ b/web/cashtab/src/components/Send/SendToken.js @@ -28,6 +28,7 @@ } from '@components/Common/Notifications'; import { isValidXecAddress, isValidEtokenAddress } from '@utils/validation'; import { formatDate } from '@utils/formatting'; +import TokenIcon from '@components/Tokens/TokenIcon'; import styled, { css } from 'styled-components'; const AntdDescriptionsCss = css` @@ -376,50 +377,22 @@ title={`Token info for "${token.info.tokenName}"`} > - {currency.tokenIconsUrl !== '' ? ( - - } - trigger="click" - color="transparent" - > - {`identicon - } + - - ) : ( - {`identicon + - )} + {token.info.decimals} diff --git a/web/cashtab/src/components/Tokens/TokenIcon.js b/web/cashtab/src/components/Tokens/TokenIcon.js new file mode 100644 --- /dev/null +++ b/web/cashtab/src/components/Tokens/TokenIcon.js @@ -0,0 +1,36 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import styled from 'styled-components'; +import makeBlockie from 'ethereum-blockies-base64'; +import { Img } from 'react-image'; +import { currency } from '@components/Common/Ticker'; + +const TokenIcon = ({ size, tokenId }) => { + return ( + <> + {`identicon + } + /> + + ); +}; +TokenIcon.propTypes = { + size: PropTypes.oneOf([32, 64, 128, 256, 512]), + tokenId: PropTypes.string, +}; + +export default TokenIcon; diff --git a/web/cashtab/src/components/Wallet/TokenListItem.js b/web/cashtab/src/components/Wallet/TokenListItem.js new file mode 100644 --- /dev/null +++ b/web/cashtab/src/components/Wallet/TokenListItem.js @@ -0,0 +1,46 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import styled from 'styled-components'; +import TokenIcon from '@components/Tokens/TokenIcon'; + +const BalanceAndTicker = styled.div` + font-size: 1rem; +`; + +const Wrapper = styled.div` + display: flex; + justify-content: space-between; + align-items: center; + padding: 15px 25px; + border-radius: 16px; + background: ${props => props.theme.tokenListItem.background}; + margin-bottom: 10px; + box-shadow: ${props => props.theme.tokenListItem.boxShadow}; + border: 1px solid ${props => props.theme.tokenListItem.border}; + + :hover { + transform: translateY(-2px); + box-shadow: rgb(136 172 243 / 25%) 0px 10px 30px, + rgb(0 0 0 / 3%) 0px 1px 1px, rgb(0 51 167 / 10%) 0px 10px 20px; + transition: all 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 0s; + } +`; + +const TokenListItem = ({ ticker, balance, tokenId }) => { + return ( + + + + {balance} {ticker} + + + ); +}; + +TokenListItem.propTypes = { + ticker: PropTypes.string, + balance: PropTypes.string, + tokenId: PropTypes.string, +}; + +export default TokenListItem;