From 867803e7c4afe844ffc291ee9294190f31341287 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt <sean.yesmunt@gmail.com> Date: Tue, 28 Nov 2017 14:28:34 -0500 Subject: [PATCH 1/7] add start script --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 3c3bc5a0a..0946afe2c 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,9 @@ "perMachine": true } }, + "scripts": { + "start": "./node_modules/.bin/electron src/main" + }, "devDependencies": { "devtron": "^1.4.0", "electron": "^1.7.9", -- 2.45.3 From c3eaa8c34dea74dc979fa88ec8d3bc6c57a36e50 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt <sean.yesmunt@gmail.com> Date: Tue, 28 Nov 2017 23:26:07 -0500 Subject: [PATCH 2/7] check users balance before creating channel/publishing --- src/renderer/js/component/publishForm/index.js | 7 ++++++- .../publishForm/internal/channelSection.jsx | 13 ++++++++++++- src/renderer/js/component/publishForm/view.jsx | 9 +++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/renderer/js/component/publishForm/index.js b/src/renderer/js/component/publishForm/index.js index a55cf9187..df41581d9 100644 --- a/src/renderer/js/component/publishForm/index.js +++ b/src/renderer/js/component/publishForm/index.js @@ -1,5 +1,10 @@ import React from "react"; import { connect } from "react-redux"; import PublishForm from "./view"; +import { selectBalance } from "redux/selectors/wallet"; -export default connect(null, null)(PublishForm); +const select = state => ({ + balance: selectBalance(state), +}); + +export default connect(select, null)(PublishForm); diff --git a/src/renderer/js/component/publishForm/internal/channelSection.jsx b/src/renderer/js/component/publishForm/internal/channelSection.jsx index 203e90e74..49c560f65 100644 --- a/src/renderer/js/component/publishForm/internal/channelSection.jsx +++ b/src/renderer/js/component/publishForm/internal/channelSection.jsx @@ -48,11 +48,22 @@ class ChannelSection extends React.PureComponent { handleNewChannelBidChange(event) { this.setState({ - newChannelBid: event.target.value, + newChannelBid: parseFloat(event.target.value), }); } handleCreateChannelClick(event) { + const { balance } = this.props; + const { newChannelBid } = this.state; + + if (newChannelBid > balance) { + this.refs.newChannelName.showError( + __("Unable to create channel due to insufficient funds.") + ); + + return; + } + this.setState({ creatingChannel: true, }); diff --git a/src/renderer/js/component/publishForm/view.jsx b/src/renderer/js/component/publishForm/view.jsx index 75ac22d2b..deb16e248 100644 --- a/src/renderer/js/component/publishForm/view.jsx +++ b/src/renderer/js/component/publishForm/view.jsx @@ -61,6 +61,15 @@ class PublishForm extends React.PureComponent { } handleSubmit() { + const { balance } = this.props; + const { bid } = this.state; + + if (bid > balance) { + this.handlePublishError({ message: "insufficient funds" }); + + return; + } + this.setState({ submitting: true, }); -- 2.45.3 From 25fb5737b9a351672d77681b5bc8042a630d2b25 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt <sean.yesmunt@gmail.com> Date: Wed, 29 Nov 2017 11:16:11 -0500 Subject: [PATCH 3/7] update deps so no react@16 peer dependencie warnings --- src/renderer/package.json | 4 ++-- src/renderer/yarn.lock | 48 ++++++++++++--------------------------- 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/src/renderer/package.json b/src/renderer/package.json index 06b7abd69..0525dafd2 100644 --- a/src/renderer/package.json +++ b/src/renderer/package.json @@ -30,8 +30,8 @@ "react": "^16.2.0", "react-dom": "^16.2.0", "react-markdown": "^2.5.0", - "react-modal": "^1.5.2", - "react-paginate": "^4.4.3", + "react-modal": "^3.1.5", + "react-paginate": "^5.0.0", "react-redux": "^5.0.3", "react-simplemde-editor": "^3.6.11", "redux": "^3.6.0", diff --git a/src/renderer/yarn.lock b/src/renderer/yarn.lock index 93e81559f..aa1863634 100644 --- a/src/renderer/yarn.lock +++ b/src/renderer/yarn.lock @@ -1576,14 +1576,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a" - dependencies: - fbjs "^0.8.9" - loose-envify "^1.3.1" - object-assign "^4.1.1" - cross-spawn@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" @@ -1930,10 +1922,6 @@ elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" -element-class@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/element-class/-/element-class-0.2.2.tgz#9d3bbd0767f9013ef8e1c8ebe722c1402a60050e" - elliptic@^6.0.0: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -2312,9 +2300,9 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exenv@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.0.tgz#3835f127abf075bfe082d0aed4484057c78e3c89" +exenv@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" exit-hook@^1.0.0: version "1.1.1" @@ -2428,7 +2416,7 @@ fbjs@^0.6.1: ua-parser-js "^0.7.9" whatwg-fetch "^0.9.0" -fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.9: +fbjs@^0.8.16, fbjs@^0.8.4: version "0.8.16" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" dependencies: @@ -4873,7 +4861,7 @@ promise@^7.0.3, promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.1, prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0: +prop-types@^15.5.1, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0: version "15.6.0" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" dependencies: @@ -5024,10 +5012,6 @@ react-addons-create-fragment@^15.0.0: loose-envify "^1.3.1" object-assign "^4.1.0" -react-dom-factories@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.2.tgz#eb7705c4db36fb501b3aa38ff759616aa0ff96e0" - react-dom@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" @@ -5045,23 +5029,19 @@ react-markdown@^2.5.0: commonmark-react-renderer "^4.3.4" prop-types "^15.5.1" -react-modal@^1.5.2: - version "1.9.7" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-1.9.7.tgz#07ef56790b953e3b98ef1e2989e347983c72871d" +react-modal@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.1.5.tgz#9cfdb7634b5003148ffb7c8ead13a36f671d744e" dependencies: - create-react-class "^15.5.2" - element-class "^0.2.0" - exenv "1.2.0" - lodash.assign "^4.2.0" - prop-types "^15.5.7" - react-dom-factories "^1.0.0" + exenv "^1.2.0" + prop-types "^15.5.10" -react-paginate@^4.4.3: - version "4.4.4" - resolved "https://registry.yarnpkg.com/react-paginate/-/react-paginate-4.4.4.tgz#0126110e8b8438b08a2c97b59e8391d72ae0b0f3" +react-paginate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/react-paginate/-/react-paginate-5.0.0.tgz#b5c12191ea81adc6d4d1b339b805e81841eaa8ea" dependencies: classnames "^2.2.5" - prop-types "^15.5.7" + prop-types "^15.6.0" react-addons-create-fragment "^15.0.0" react-redux@^5.0.3: -- 2.45.3 From e70a56c0d2b642bb7ab1cbc58e6a7486b8c04231 Mon Sep 17 00:00:00 2001 From: Sean Yesmunt <sean.yesmunt@gmail.com> Date: Wed, 29 Nov 2017 14:53:24 -0500 Subject: [PATCH 4/7] fix typo --- src/renderer/js/component/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/js/component/form.js b/src/renderer/js/component/form.js index 15585a39f..f5b4ee173 100644 --- a/src/renderer/js/component/form.js +++ b/src/renderer/js/component/form.js @@ -35,7 +35,7 @@ export class Form extends React.PureComponent { } export class FormRow extends React.PureComponent { - spropTypes = { + propTypes = { label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), // helper: PropTypes.html, -- 2.45.3 From f86690c81a198e9a9738bf275c8ed7d3d0723f9c Mon Sep 17 00:00:00 2001 From: Sean Yesmunt <sean.yesmunt@gmail.com> Date: Wed, 29 Nov 2017 20:13:36 -0500 Subject: [PATCH 5/7] need to use static --- src/renderer/js/component/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/js/component/form.js b/src/renderer/js/component/form.js index f5b4ee173..820ae251c 100644 --- a/src/renderer/js/component/form.js +++ b/src/renderer/js/component/form.js @@ -35,7 +35,7 @@ export class Form extends React.PureComponent { } export class FormRow extends React.PureComponent { - propTypes = { + static propTypes = { label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), // helper: PropTypes.html, -- 2.45.3 From 4ce4da37b916b15e906fcf4cc914d082c689e093 Mon Sep 17 00:00:00 2001 From: Thomas Zarebczan <tzarebczan@users.noreply.github.com> Date: Wed, 29 Nov 2017 22:04:07 -0500 Subject: [PATCH 6/7] add referral message type Also fixed many downloads text --- src/renderer/js/rewards.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderer/js/rewards.js b/src/renderer/js/rewards.js index 2a30be2d3..1482fc1ca 100644 --- a/src/renderer/js/rewards.js +++ b/src/renderer/js/rewards.js @@ -22,7 +22,7 @@ function rewardMessage(type, amount) { amount ), many_downloads: __( - "You earned %s LBC for downloading some of the things.", + "You earned %s LBC for downloading a bunch of things.", amount ), first_publish: __( @@ -33,6 +33,10 @@ function rewardMessage(type, amount) { "You earned %s LBC for watching a featured download.", amount ), + referral: __( + "You earned %s LBC for referring someone.", + amount + ), }[type]; } -- 2.45.3 From f9018aec60134d272cc161edf842384c5cb1b200 Mon Sep 17 00:00:00 2001 From: Liam Cardenas <me@liamcardenas.com> Date: Thu, 30 Nov 2017 19:29:22 -0800 Subject: [PATCH 7/7] Added missing file --- src/renderer/.flowconfig | 1 + src/renderer/flow-typed/electron.js | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 src/renderer/flow-typed/electron.js diff --git a/src/renderer/.flowconfig b/src/renderer/.flowconfig index 8d8e22131..18e154135 100644 --- a/src/renderer/.flowconfig +++ b/src/renderer/.flowconfig @@ -12,5 +12,6 @@ flow-typed suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe suppress_comment=\\(.\\|\n\\)*\\$FlowIssue module.name_mapper='^constants\(.*\)$' -> '<PROJECT_ROOT>/js/constants\1' +module.name_mapper='^redux\(.*\)$' -> '<PROJECT_ROOT>/js/redux\1' [strict] diff --git a/src/renderer/flow-typed/electron.js b/src/renderer/flow-typed/electron.js new file mode 100644 index 000000000..4c575c618 --- /dev/null +++ b/src/renderer/flow-typed/electron.js @@ -0,0 +1,3 @@ +declare module 'electron' { + declare module.exports: any; +} -- 2.45.3