From b561ae7b12b2874df6eeb8bbebc8e0aa7edbeba6 Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Mon, 13 Feb 2017 13:47:11 +0100 Subject: [PATCH] Fixes to Token Deploy dapp (#4513) * Renaming Basiccoin => Tokendeploy * Rename Basiccoin => Tokendeploy * UI and bug fixes to the TokenDeploy dapp * Use decimals for Token Deployment #4311 * Typo * PR Gumbles --- js/src/dapps/style.css | 2 + js/src/dapps/{basiccoin.js => tokendeploy.js} | 8 ++-- .../AddressSelect/addressSelect.css | 0 .../AddressSelect/addressSelect.js | 0 .../AddressSelect/index.js | 0 .../Application/Header/header.css | 0 .../Application/Header/header.js | 0 .../Application/Header/index.js | 0 .../Application/Loading/index.js | 0 .../Application/Loading/loading.css | 0 .../Application/Loading/loading.js | 0 .../Application/application.css | 0 .../Application/application.js | 0 .../Application/index.js | 0 .../Application/pages.js | 0 .../Container/container.css | 0 .../Container/container.js | 0 .../Container/index.js | 0 .../Deploy/Deployment/deployment.css | 0 .../Deploy/Deployment/deployment.js | 38 +++++++++++++----- .../Deploy/Deployment/index.js | 0 .../Deploy/Event/event.css | 0 .../Deploy/Event/event.js | 0 .../Deploy/Event/index.js | 0 .../Deploy/Events/events.css | 8 ++++ .../Deploy/Events/events.js | 0 .../Deploy/Events/index.js | 0 .../Deploy/deploy.js | 0 .../Deploy/index.js | 0 .../IdentityIcon/identityIcon.css | 0 .../IdentityIcon/identityIcon.js | 0 .../IdentityIcon/index.js | 0 .../Overview/Owner/index.js | 0 .../Overview/Owner/owner.css | 0 .../Overview/Owner/owner.js | 0 .../Overview/Token/index.js | 0 .../Overview/Token/token.css | 0 .../Overview/Token/token.js | 0 .../Overview/index.js | 0 .../Overview/overview.css | 0 .../Overview/overview.js | 0 .../Transfer/Event/event.js | 0 .../Transfer/Event/index.js | 0 .../Transfer/Events/events.js | 0 .../Transfer/Events/index.js | 0 .../Transfer/Send/index.js | 0 .../Transfer/Send/send.css | 0 .../Transfer/Send/send.js | 18 ++++++++- .../Transfer/index.js | 0 .../Transfer/transfer.js | 0 .../{basiccoin => tokendeploy}/_form.css | 11 +++-- .../{basiccoin => tokendeploy}/_status.css | 0 .../{basiccoin => tokendeploy}/background.jpg | Bin .../{basiccoin => tokendeploy}/parity.js | 0 .../{basiccoin => tokendeploy}/services.js | 0 js/src/views/Dapps/builtin.json | 2 +- js/src/views/Dapps/dappStore.spec.js | 26 ++++++------ 57 files changed, 79 insertions(+), 34 deletions(-) rename js/src/dapps/{basiccoin.js => tokendeploy.js} (88%) rename js/src/dapps/{basiccoin => tokendeploy}/AddressSelect/addressSelect.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/AddressSelect/addressSelect.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/AddressSelect/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Header/header.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Header/header.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Header/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Loading/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Loading/loading.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/Loading/loading.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/application.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/application.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Application/pages.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Container/container.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Container/container.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Container/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Deployment/deployment.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Deployment/deployment.js (91%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Deployment/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Event/event.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Event/event.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Event/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Events/events.css (89%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Events/events.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/Events/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/deploy.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Deploy/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/IdentityIcon/identityIcon.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/IdentityIcon/identityIcon.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/IdentityIcon/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Owner/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Owner/owner.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Owner/owner.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Token/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Token/token.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/Token/token.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/overview.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Overview/overview.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Event/event.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Event/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Events/events.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Events/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Send/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Send/send.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/Send/send.js (96%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/index.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/Transfer/transfer.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/_form.css (93%) rename js/src/dapps/{basiccoin => tokendeploy}/_status.css (100%) rename js/src/dapps/{basiccoin => tokendeploy}/background.jpg (100%) rename js/src/dapps/{basiccoin => tokendeploy}/parity.js (100%) rename js/src/dapps/{basiccoin => tokendeploy}/services.js (100%) diff --git a/js/src/dapps/style.css b/js/src/dapps/style.css index 8a3dc1fe6..0f452fd2a 100644 --- a/js/src/dapps/style.css +++ b/js/src/dapps/style.css @@ -35,6 +35,7 @@ width: 100%; display: flex; flex: 1; + flex-direction: column; } :root * { @@ -43,4 +44,5 @@ :root :global(#container) > div { flex: 1; + flex-direction: column; } diff --git a/js/src/dapps/basiccoin.js b/js/src/dapps/tokendeploy.js similarity index 88% rename from js/src/dapps/basiccoin.js rename to js/src/dapps/tokendeploy.js index 79579e10d..a1808199e 100644 --- a/js/src/dapps/basiccoin.js +++ b/js/src/dapps/tokendeploy.js @@ -21,10 +21,10 @@ import { Redirect, Router, Route, hashHistory } from 'react-router'; import injectTapEventPlugin from 'react-tap-event-plugin'; injectTapEventPlugin(); -import Deploy from './basiccoin/Deploy'; -import Application from './basiccoin/Application'; -import Overview from './basiccoin/Overview'; -import Transfer from './basiccoin/Transfer'; +import Deploy from './tokendeploy/Deploy'; +import Application from './tokendeploy/Application'; +import Overview from './tokendeploy/Overview'; +import Transfer from './tokendeploy/Transfer'; import '../../assets/fonts/Roboto/font.css'; import '../../assets/fonts/RobotoMono/font.css'; diff --git a/js/src/dapps/basiccoin/AddressSelect/addressSelect.css b/js/src/dapps/tokendeploy/AddressSelect/addressSelect.css similarity index 100% rename from js/src/dapps/basiccoin/AddressSelect/addressSelect.css rename to js/src/dapps/tokendeploy/AddressSelect/addressSelect.css diff --git a/js/src/dapps/basiccoin/AddressSelect/addressSelect.js b/js/src/dapps/tokendeploy/AddressSelect/addressSelect.js similarity index 100% rename from js/src/dapps/basiccoin/AddressSelect/addressSelect.js rename to js/src/dapps/tokendeploy/AddressSelect/addressSelect.js diff --git a/js/src/dapps/basiccoin/AddressSelect/index.js b/js/src/dapps/tokendeploy/AddressSelect/index.js similarity index 100% rename from js/src/dapps/basiccoin/AddressSelect/index.js rename to js/src/dapps/tokendeploy/AddressSelect/index.js diff --git a/js/src/dapps/basiccoin/Application/Header/header.css b/js/src/dapps/tokendeploy/Application/Header/header.css similarity index 100% rename from js/src/dapps/basiccoin/Application/Header/header.css rename to js/src/dapps/tokendeploy/Application/Header/header.css diff --git a/js/src/dapps/basiccoin/Application/Header/header.js b/js/src/dapps/tokendeploy/Application/Header/header.js similarity index 100% rename from js/src/dapps/basiccoin/Application/Header/header.js rename to js/src/dapps/tokendeploy/Application/Header/header.js diff --git a/js/src/dapps/basiccoin/Application/Header/index.js b/js/src/dapps/tokendeploy/Application/Header/index.js similarity index 100% rename from js/src/dapps/basiccoin/Application/Header/index.js rename to js/src/dapps/tokendeploy/Application/Header/index.js diff --git a/js/src/dapps/basiccoin/Application/Loading/index.js b/js/src/dapps/tokendeploy/Application/Loading/index.js similarity index 100% rename from js/src/dapps/basiccoin/Application/Loading/index.js rename to js/src/dapps/tokendeploy/Application/Loading/index.js diff --git a/js/src/dapps/basiccoin/Application/Loading/loading.css b/js/src/dapps/tokendeploy/Application/Loading/loading.css similarity index 100% rename from js/src/dapps/basiccoin/Application/Loading/loading.css rename to js/src/dapps/tokendeploy/Application/Loading/loading.css diff --git a/js/src/dapps/basiccoin/Application/Loading/loading.js b/js/src/dapps/tokendeploy/Application/Loading/loading.js similarity index 100% rename from js/src/dapps/basiccoin/Application/Loading/loading.js rename to js/src/dapps/tokendeploy/Application/Loading/loading.js diff --git a/js/src/dapps/basiccoin/Application/application.css b/js/src/dapps/tokendeploy/Application/application.css similarity index 100% rename from js/src/dapps/basiccoin/Application/application.css rename to js/src/dapps/tokendeploy/Application/application.css diff --git a/js/src/dapps/basiccoin/Application/application.js b/js/src/dapps/tokendeploy/Application/application.js similarity index 100% rename from js/src/dapps/basiccoin/Application/application.js rename to js/src/dapps/tokendeploy/Application/application.js diff --git a/js/src/dapps/basiccoin/Application/index.js b/js/src/dapps/tokendeploy/Application/index.js similarity index 100% rename from js/src/dapps/basiccoin/Application/index.js rename to js/src/dapps/tokendeploy/Application/index.js diff --git a/js/src/dapps/basiccoin/Application/pages.js b/js/src/dapps/tokendeploy/Application/pages.js similarity index 100% rename from js/src/dapps/basiccoin/Application/pages.js rename to js/src/dapps/tokendeploy/Application/pages.js diff --git a/js/src/dapps/basiccoin/Container/container.css b/js/src/dapps/tokendeploy/Container/container.css similarity index 100% rename from js/src/dapps/basiccoin/Container/container.css rename to js/src/dapps/tokendeploy/Container/container.css diff --git a/js/src/dapps/basiccoin/Container/container.js b/js/src/dapps/tokendeploy/Container/container.js similarity index 100% rename from js/src/dapps/basiccoin/Container/container.js rename to js/src/dapps/tokendeploy/Container/container.js diff --git a/js/src/dapps/basiccoin/Container/index.js b/js/src/dapps/tokendeploy/Container/index.js similarity index 100% rename from js/src/dapps/basiccoin/Container/index.js rename to js/src/dapps/tokendeploy/Container/index.js diff --git a/js/src/dapps/basiccoin/Deploy/Deployment/deployment.css b/js/src/dapps/tokendeploy/Deploy/Deployment/deployment.css similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Deployment/deployment.css rename to js/src/dapps/tokendeploy/Deploy/Deployment/deployment.css diff --git a/js/src/dapps/basiccoin/Deploy/Deployment/deployment.js b/js/src/dapps/tokendeploy/Deploy/Deployment/deployment.js similarity index 91% rename from js/src/dapps/basiccoin/Deploy/Deployment/deployment.js rename to js/src/dapps/tokendeploy/Deploy/Deployment/deployment.js index 666ac1a97..0872c992f 100644 --- a/js/src/dapps/basiccoin/Deploy/Deployment/deployment.js +++ b/js/src/dapps/tokendeploy/Deploy/Deployment/deployment.js @@ -20,11 +20,14 @@ import { api } from '../../parity'; import Container from '../../Container'; import styles from './deployment.css'; +const DECIMALS = 6; +const BASE = Math.pow(10, DECIMALS); + const ERRORS = { name: 'specify a valid name >2 & <32 characters', tla: 'specify a valid TLA, 3 characters in length', usedtla: 'the TLA used is not available for registration', - supply: 'supply needs to be valid >999 & <1 trillion' + supply: `supply needs to be > 1 & <1 trillion, with no more than ${DECIMALS} decimals` }; export default class Deployment extends Component { @@ -34,9 +37,9 @@ export default class Deployment extends Component { managerInstance: PropTypes.object.isRequired, registryInstance: PropTypes.object.isRequired, tokenregInstance: PropTypes.object.isRequired - } + }; - state = { + static initState = { base: null, deployBusy: false, deployDone: false, @@ -54,7 +57,9 @@ export default class Deployment extends Component { totalSupplyError: null, signerRequestId: null, txHash: null - } + }; + + state = Deployment.initState componentDidMount () { const { managerInstance, tokenregInstance } = this.context; @@ -74,6 +79,10 @@ export default class Deployment extends Component { }); } + reset () { + this.setState(Deployment.initState, () => this.componentDidMount()); + } + render () { const { deployBusy } = this.state; @@ -102,7 +111,7 @@ export default class Deployment extends Component { Your deployment has encountered an error
- { deployError } + { deployError.message }
); @@ -155,8 +164,9 @@ export default class Deployment extends Component { { - const totalSupply = parseInt(event.target.value, 10); - const totalSupplyError = isFinite(totalSupply) && totalSupply > 999 + const { value } = event.target; + const floatValue = parseFloat(value, 10); + const convertedTotalSupply = floatValue * BASE; + const totalSupplyError = Number.isInteger(convertedTotalSupply) && floatValue >= 1 ? null : ERRORS.supply; - this.setState({ totalSupply, totalSupplyError }); + this.setState({ totalSupply: value, totalSupplyError }); } onChangeTla = (event) => { @@ -293,8 +305,12 @@ export default class Deployment extends Component { this.setState({ txReceipt, deployDone: true, deployState: 'Network confirmed, Received transaction receipt' }); }) .catch((error) => { + if (error.type === 'REQUEST_REJECTED') { + return this.reset(); + } + console.error('onDeploy', error); - this.setState({ deployError: error.message }); + this.setState({ deployError: error }); }); } } diff --git a/js/src/dapps/basiccoin/Deploy/Deployment/index.js b/js/src/dapps/tokendeploy/Deploy/Deployment/index.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Deployment/index.js rename to js/src/dapps/tokendeploy/Deploy/Deployment/index.js diff --git a/js/src/dapps/basiccoin/Deploy/Event/event.css b/js/src/dapps/tokendeploy/Deploy/Event/event.css similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Event/event.css rename to js/src/dapps/tokendeploy/Deploy/Event/event.css diff --git a/js/src/dapps/basiccoin/Deploy/Event/event.js b/js/src/dapps/tokendeploy/Deploy/Event/event.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Event/event.js rename to js/src/dapps/tokendeploy/Deploy/Event/event.js diff --git a/js/src/dapps/basiccoin/Deploy/Event/index.js b/js/src/dapps/tokendeploy/Deploy/Event/index.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Event/index.js rename to js/src/dapps/tokendeploy/Deploy/Event/index.js diff --git a/js/src/dapps/basiccoin/Deploy/Events/events.css b/js/src/dapps/tokendeploy/Deploy/Events/events.css similarity index 89% rename from js/src/dapps/basiccoin/Deploy/Events/events.css rename to js/src/dapps/tokendeploy/Deploy/Events/events.css index 4f28ba516..48c107e0a 100644 --- a/js/src/dapps/basiccoin/Deploy/Events/events.css +++ b/js/src/dapps/tokendeploy/Deploy/Events/events.css @@ -23,6 +23,14 @@ border: none; margin: 0 auto; border-collapse: collapse; + display: flex; + overflow: auto; + + > * { + display: flex; + flex: 1; + flex-direction: column; + } } .eventList tr:nth-child(even) { diff --git a/js/src/dapps/basiccoin/Deploy/Events/events.js b/js/src/dapps/tokendeploy/Deploy/Events/events.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Events/events.js rename to js/src/dapps/tokendeploy/Deploy/Events/events.js diff --git a/js/src/dapps/basiccoin/Deploy/Events/index.js b/js/src/dapps/tokendeploy/Deploy/Events/index.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/Events/index.js rename to js/src/dapps/tokendeploy/Deploy/Events/index.js diff --git a/js/src/dapps/basiccoin/Deploy/deploy.js b/js/src/dapps/tokendeploy/Deploy/deploy.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/deploy.js rename to js/src/dapps/tokendeploy/Deploy/deploy.js diff --git a/js/src/dapps/basiccoin/Deploy/index.js b/js/src/dapps/tokendeploy/Deploy/index.js similarity index 100% rename from js/src/dapps/basiccoin/Deploy/index.js rename to js/src/dapps/tokendeploy/Deploy/index.js diff --git a/js/src/dapps/basiccoin/IdentityIcon/identityIcon.css b/js/src/dapps/tokendeploy/IdentityIcon/identityIcon.css similarity index 100% rename from js/src/dapps/basiccoin/IdentityIcon/identityIcon.css rename to js/src/dapps/tokendeploy/IdentityIcon/identityIcon.css diff --git a/js/src/dapps/basiccoin/IdentityIcon/identityIcon.js b/js/src/dapps/tokendeploy/IdentityIcon/identityIcon.js similarity index 100% rename from js/src/dapps/basiccoin/IdentityIcon/identityIcon.js rename to js/src/dapps/tokendeploy/IdentityIcon/identityIcon.js diff --git a/js/src/dapps/basiccoin/IdentityIcon/index.js b/js/src/dapps/tokendeploy/IdentityIcon/index.js similarity index 100% rename from js/src/dapps/basiccoin/IdentityIcon/index.js rename to js/src/dapps/tokendeploy/IdentityIcon/index.js diff --git a/js/src/dapps/basiccoin/Overview/Owner/index.js b/js/src/dapps/tokendeploy/Overview/Owner/index.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/Owner/index.js rename to js/src/dapps/tokendeploy/Overview/Owner/index.js diff --git a/js/src/dapps/basiccoin/Overview/Owner/owner.css b/js/src/dapps/tokendeploy/Overview/Owner/owner.css similarity index 100% rename from js/src/dapps/basiccoin/Overview/Owner/owner.css rename to js/src/dapps/tokendeploy/Overview/Owner/owner.css diff --git a/js/src/dapps/basiccoin/Overview/Owner/owner.js b/js/src/dapps/tokendeploy/Overview/Owner/owner.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/Owner/owner.js rename to js/src/dapps/tokendeploy/Overview/Owner/owner.js diff --git a/js/src/dapps/basiccoin/Overview/Token/index.js b/js/src/dapps/tokendeploy/Overview/Token/index.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/Token/index.js rename to js/src/dapps/tokendeploy/Overview/Token/index.js diff --git a/js/src/dapps/basiccoin/Overview/Token/token.css b/js/src/dapps/tokendeploy/Overview/Token/token.css similarity index 100% rename from js/src/dapps/basiccoin/Overview/Token/token.css rename to js/src/dapps/tokendeploy/Overview/Token/token.css diff --git a/js/src/dapps/basiccoin/Overview/Token/token.js b/js/src/dapps/tokendeploy/Overview/Token/token.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/Token/token.js rename to js/src/dapps/tokendeploy/Overview/Token/token.js diff --git a/js/src/dapps/basiccoin/Overview/index.js b/js/src/dapps/tokendeploy/Overview/index.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/index.js rename to js/src/dapps/tokendeploy/Overview/index.js diff --git a/js/src/dapps/basiccoin/Overview/overview.css b/js/src/dapps/tokendeploy/Overview/overview.css similarity index 100% rename from js/src/dapps/basiccoin/Overview/overview.css rename to js/src/dapps/tokendeploy/Overview/overview.css diff --git a/js/src/dapps/basiccoin/Overview/overview.js b/js/src/dapps/tokendeploy/Overview/overview.js similarity index 100% rename from js/src/dapps/basiccoin/Overview/overview.js rename to js/src/dapps/tokendeploy/Overview/overview.js diff --git a/js/src/dapps/basiccoin/Transfer/Event/event.js b/js/src/dapps/tokendeploy/Transfer/Event/event.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Event/event.js rename to js/src/dapps/tokendeploy/Transfer/Event/event.js diff --git a/js/src/dapps/basiccoin/Transfer/Event/index.js b/js/src/dapps/tokendeploy/Transfer/Event/index.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Event/index.js rename to js/src/dapps/tokendeploy/Transfer/Event/index.js diff --git a/js/src/dapps/basiccoin/Transfer/Events/events.js b/js/src/dapps/tokendeploy/Transfer/Events/events.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Events/events.js rename to js/src/dapps/tokendeploy/Transfer/Events/events.js diff --git a/js/src/dapps/basiccoin/Transfer/Events/index.js b/js/src/dapps/tokendeploy/Transfer/Events/index.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Events/index.js rename to js/src/dapps/tokendeploy/Transfer/Events/index.js diff --git a/js/src/dapps/basiccoin/Transfer/Send/index.js b/js/src/dapps/tokendeploy/Transfer/Send/index.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Send/index.js rename to js/src/dapps/tokendeploy/Transfer/Send/index.js diff --git a/js/src/dapps/basiccoin/Transfer/Send/send.css b/js/src/dapps/tokendeploy/Transfer/Send/send.css similarity index 100% rename from js/src/dapps/basiccoin/Transfer/Send/send.css rename to js/src/dapps/tokendeploy/Transfer/Send/send.css diff --git a/js/src/dapps/basiccoin/Transfer/Send/send.js b/js/src/dapps/tokendeploy/Transfer/Send/send.js similarity index 96% rename from js/src/dapps/basiccoin/Transfer/Send/send.js rename to js/src/dapps/tokendeploy/Transfer/Send/send.js index 2ea7cbad3..9595e2045 100644 --- a/js/src/dapps/basiccoin/Transfer/Send/send.js +++ b/js/src/dapps/tokendeploy/Transfer/Send/send.js @@ -121,8 +121,21 @@ export default class Send extends Component { } renderForm () { + const { tokens } = this.state; + + if (!tokens || tokens.length === 0) { + return ( + +
+ There are no tokens to transfer +
+
+ ); + } + const { accounts } = this.context; const { availableBalances, fromAddress, amount, amountError, toKnown, toAddress } = this.state; + const fromBalance = availableBalances.find((balance) => balance.address === fromAddress); const fromAddresses = availableBalances.map((balance) => balance.address); const toAddresses = Object.keys(accounts); @@ -323,7 +336,10 @@ export default class Send extends Component { }); this.setState({ tokens, loading: false }); - this.onSelectToken({ target: { value: tokens[0].address } }); + + if (tokens.length > 0) { + this.onSelectToken({ target: { value: tokens[0].address } }); + } }); } } diff --git a/js/src/dapps/basiccoin/Transfer/index.js b/js/src/dapps/tokendeploy/Transfer/index.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/index.js rename to js/src/dapps/tokendeploy/Transfer/index.js diff --git a/js/src/dapps/basiccoin/Transfer/transfer.js b/js/src/dapps/tokendeploy/Transfer/transfer.js similarity index 100% rename from js/src/dapps/basiccoin/Transfer/transfer.js rename to js/src/dapps/tokendeploy/Transfer/transfer.js diff --git a/js/src/dapps/basiccoin/_form.css b/js/src/dapps/tokendeploy/_form.css similarity index 93% rename from js/src/dapps/basiccoin/_form.css rename to js/src/dapps/tokendeploy/_form.css index ab3bc6fe0..13e127276 100644 --- a/js/src/dapps/basiccoin/_form.css +++ b/js/src/dapps/tokendeploy/_form.css @@ -26,17 +26,19 @@ } .form .input { + align-items: center; + display: flex; + flex-wrap: wrap; margin-bottom: 1.5em; } .form .input * { display: inline-block; margin: 0 0.5em; - padding: 0.5em; font-size: 1em; } -.form label { +.form .input label { width: 25em; opacity: 0.8; text-align: right; @@ -47,8 +49,8 @@ opacity: 0.5; } -.form input, -.form select { +.form .input input, +.form .input select { width: 18em; color: #444; background: rgba(255, 255, 255, 0.75); @@ -58,6 +60,7 @@ -moz-appearance: none; -webkit-appearance: none; appearance: none; + padding: 0.5em; } .form select { diff --git a/js/src/dapps/basiccoin/_status.css b/js/src/dapps/tokendeploy/_status.css similarity index 100% rename from js/src/dapps/basiccoin/_status.css rename to js/src/dapps/tokendeploy/_status.css diff --git a/js/src/dapps/basiccoin/background.jpg b/js/src/dapps/tokendeploy/background.jpg similarity index 100% rename from js/src/dapps/basiccoin/background.jpg rename to js/src/dapps/tokendeploy/background.jpg diff --git a/js/src/dapps/basiccoin/parity.js b/js/src/dapps/tokendeploy/parity.js similarity index 100% rename from js/src/dapps/basiccoin/parity.js rename to js/src/dapps/tokendeploy/parity.js diff --git a/js/src/dapps/basiccoin/services.js b/js/src/dapps/tokendeploy/services.js similarity index 100% rename from js/src/dapps/basiccoin/services.js rename to js/src/dapps/tokendeploy/services.js diff --git a/js/src/views/Dapps/builtin.json b/js/src/views/Dapps/builtin.json index 0415b602b..203053acd 100644 --- a/js/src/views/Dapps/builtin.json +++ b/js/src/views/Dapps/builtin.json @@ -1,7 +1,7 @@ [ { "id": "0xf9f2d620c2e08f83e45555247146c62185e4ab7cf82a4b9002a265a0d020348f", - "url": "basiccoin", + "url": "tokendeploy", "name": "Token Deployment", "description": "Deploy new basic tokens that you are able to send around", "author": "Parity Team ", diff --git a/js/src/views/Dapps/dappStore.spec.js b/js/src/views/Dapps/dappStore.spec.js index 1fc5d87d2..b08e1f1dc 100644 --- a/js/src/views/Dapps/dappStore.spec.js +++ b/js/src/views/Dapps/dappStore.spec.js @@ -22,10 +22,10 @@ import Contracts from '~/contracts'; import Store, { LS_KEY_DISPLAY } from './dappsStore'; -const APPID_BASICCOIN = '0xf9f2d620c2e08f83e45555247146c62185e4ab7cf82a4b9002a265a0d020348f'; const APPID_DAPPREG = '0x7bbc4f1a27628781b96213e781a1b8eec6982c1db8fac739af6e4c5a55862c03'; const APPID_GHH = '0x058740ee9a5a3fb9f1cfa10752baec87e09cc45cd7027fd54708271aca300c75'; const APPID_LOCALTX = '0xae74ad174b95cdbd01c88ac5b73a296d33e9088fc2a200e76bcedf3a94a7815d'; +const APPID_TOKENDEPLOY = '0xf9f2d620c2e08f83e45555247146c62185e4ab7cf82a4b9002a265a0d020348f'; const FETCH_OK = { ok: true, status: 200 @@ -91,7 +91,7 @@ describe('views/Dapps/DappStore', () => { describe('@action', () => { const defaultViews = { - [APPID_BASICCOIN]: { visible: false }, + [APPID_TOKENDEPLOY]: { visible: false }, [APPID_DAPPREG]: { visible: true } }; @@ -106,10 +106,10 @@ describe('views/Dapps/DappStore', () => { }); it('overrides single keys, keeping existing', () => { - store.setDisplayApps({ [APPID_BASICCOIN]: { visible: true } }); + store.setDisplayApps({ [APPID_TOKENDEPLOY]: { visible: true } }); expect(store.displayApps).to.deep.equal( - Object.assign({}, defaultViews, { [APPID_BASICCOIN]: { visible: true } }) + Object.assign({}, defaultViews, { [APPID_TOKENDEPLOY]: { visible: true } }) ); }); @@ -143,19 +143,19 @@ describe('views/Dapps/DappStore', () => { }); it('enables visibility', () => { - store.showApp(APPID_BASICCOIN); + store.showApp(APPID_TOKENDEPLOY); - expect(store.displayApps[APPID_BASICCOIN].visible).to.be.true; + expect(store.displayApps[APPID_TOKENDEPLOY].visible).to.be.true; expect(localStore.get(LS_KEY_DISPLAY)).to.deep.equal( - Object.assign({}, defaultViews, { [APPID_BASICCOIN]: { visible: true } }) + Object.assign({}, defaultViews, { [APPID_TOKENDEPLOY]: { visible: true } }) ); }); it('keeps visibility state', () => { - store.hideApp(APPID_BASICCOIN); + store.hideApp(APPID_TOKENDEPLOY); store.showApp(APPID_DAPPREG); - expect(store.displayApps[APPID_BASICCOIN].visible).to.be.false; + expect(store.displayApps[APPID_TOKENDEPLOY].visible).to.be.false; expect(store.displayApps[APPID_DAPPREG].visible).to.be.true; expect(localStore.get(LS_KEY_DISPLAY)).to.deep.equal(defaultViews); }); @@ -177,11 +177,11 @@ describe('views/Dapps/DappStore', () => { }); it('saves visibility to storage', () => { - store.setDisplayApps({ [APPID_BASICCOIN]: { visible: true } }); + store.setDisplayApps({ [APPID_TOKENDEPLOY]: { visible: true } }); store.writeDisplayApps(); expect(localStore.get(LS_KEY_DISPLAY)).to.deep.equal( - Object.assign({}, defaultViews, { [APPID_BASICCOIN]: { visible: true } }) + Object.assign({}, defaultViews, { [APPID_TOKENDEPLOY]: { visible: true } }) ); }); }); @@ -190,7 +190,7 @@ describe('views/Dapps/DappStore', () => { describe('saved views', () => { beforeEach(() => { localStore.set(LS_KEY_DISPLAY, { - [APPID_BASICCOIN]: { visible: false }, + [APPID_TOKENDEPLOY]: { visible: false }, [APPID_DAPPREG]: { visible: true } }); @@ -202,7 +202,7 @@ describe('views/Dapps/DappStore', () => { }); it('disables based on saved keys', () => { - expect(store.displayApps[APPID_BASICCOIN].visible).to.be.false; + expect(store.displayApps[APPID_TOKENDEPLOY].visible).to.be.false; }); it('enables based on saved keys', () => {