From 60855b05106899149824feecbd0f5d54907b0451 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Mon, 19 Jun 2017 16:12:34 -0700 Subject: [PATCH] Add send button to TokenFactory A simple solution to a temporary token send screen: Linking to EtherScan. Will hold us over until we make our own token send view. --- CHANGELOG.md | 1 + ui/app/components/token-cell.js | 36 ++++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 567479862..6d22da332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Add list of popular tokens held to the account detail view. - Add ability to add Tokens to token list. - Add a warning to JSON file import. +- Add "send" link to token list, which goes to TokenFactory. ## 3.7.8 2017-6-12 diff --git a/ui/app/components/token-cell.js b/ui/app/components/token-cell.js index d3a895d36..1b226983b 100644 --- a/ui/app/components/token-cell.js +++ b/ui/app/components/token-cell.js @@ -17,12 +17,7 @@ TokenCell.prototype.render = function () { return ( h('li.token-cell', { style: { cursor: network === '1' ? 'pointer' : 'default' }, - onClick: (event) => { - const url = urlFor(address, userAddress, network) - if (url) { - navigateTo(url) - } - }, + onClick: this.view.bind(this, address, userAddress, network), }, [ h(Identicon, { @@ -32,15 +27,42 @@ TokenCell.prototype.render = function () { }), h('h3', `${string || 0} ${symbol}`), + + h('span', { style: { flex: '1 0 auto' } }), + + h('button', { + onClick: this.send.bind(this, address), + }, 'SEND'), + ]) ) } +TokenCell.prototype.send = function (address, event) { + event.preventDefault() + event.stopPropagation + const url = tokenFactoryFor(address) + if (url) { + navigateTo(url) + } +} + +TokenCell.prototype.view = function (address, userAddress, network, event) { + const url = etherscanLinkFor(address, userAddress, network) + if (url) { + navigateTo(url) + } +} + function navigateTo (url) { global.platform.openWindow({ url }) } -function urlFor (tokenAddress, address, network) { +function etherscanLinkFor (tokenAddress, address, network) { return `https://etherscan.io/token/${tokenAddress}?a=${address}` } +function tokenFactoryFor (tokenAddress) { + return `https://tokenfactory.surge.sh/#/token/${tokenAddress}` +} +