diff options
-rw-r--r-- | packages/website/public/images/social/discourse.png | bin | 0 -> 1454 bytes | |||
-rw-r--r-- | packages/website/ts/blockchain.ts | 10 | ||||
-rw-r--r-- | packages/website/ts/components/footer.tsx | 11 | ||||
-rw-r--r-- | packages/website/ts/components/token_balances.tsx | 2 | ||||
-rw-r--r-- | packages/website/ts/components/top_bar.tsx | 14 | ||||
-rw-r--r-- | packages/website/ts/utils/constants.ts | 1 | ||||
-rw-r--r-- | packages/website/ts/web3_wrapper.ts | 8 |
7 files changed, 27 insertions, 19 deletions
diff --git a/packages/website/public/images/social/discourse.png b/packages/website/public/images/social/discourse.png Binary files differnew file mode 100644 index 000000000..4bca3de0d --- /dev/null +++ b/packages/website/public/images/social/discourse.png diff --git a/packages/website/ts/blockchain.ts b/packages/website/ts/blockchain.ts index 1320fbeb9..66f982427 100644 --- a/packages/website/ts/blockchain.ts +++ b/packages/website/ts/blockchain.ts @@ -372,10 +372,14 @@ export class Blockchain { const [balance] = await this.getTokenBalanceAndAllowanceAsync(this._userAddress, token.address); if (!balance.eq(currBalance)) { this._dispatcher.replaceTokenBalanceByAddress(token.address, balance); - clearInterval(this._zrxPollIntervalId); + intervalUtils.clearAsyncExcludingInterval(this._zrxPollIntervalId); delete this._zrxPollIntervalId; } - }, 5000); + }, 5000, (err: Error) => { + utils.consoleLog(`Polling tokenBalance failed: ${err}`); + intervalUtils.clearAsyncExcludingInterval(this._zrxPollIntervalId); + delete this._zrxPollIntervalId; + }); } public async signOrderHashAsync(orderHash: string): Promise<SignatureData> { utils.assert(!_.isUndefined(this._zeroEx), 'ZeroEx must be instantiated.'); @@ -471,7 +475,7 @@ export class Blockchain { this._web3Wrapper.updatePrevUserAddress(newUserAddress); } public destroy() { - clearInterval(this._zrxPollIntervalId); + intervalUtils.clearAsyncExcludingInterval(this._zrxPollIntervalId); this._web3Wrapper.destroy(); this._stopWatchingExchangeLogFillEvents(); } diff --git a/packages/website/ts/components/footer.tsx b/packages/website/ts/components/footer.tsx index 3346f2545..a0f1a0c96 100644 --- a/packages/website/ts/components/footer.tsx +++ b/packages/website/ts/components/footer.tsx @@ -13,7 +13,6 @@ interface FooterMenuItem { title: string; path?: string; isExternal?: boolean; - fileName?: string; } enum Sections { @@ -56,25 +55,26 @@ const menuItemsBySection: MenuItemsBySection = { title: 'Rocket.chat', isExternal: true, path: constants.URL_ZEROEX_CHAT, - fileName: 'rocketchat.png', }, { title: 'Blog', isExternal: true, path: constants.URL_BLOG, - fileName: 'medium.png', }, { title: 'Twitter', isExternal: true, path: constants.URL_TWITTER, - fileName: 'twitter.png', }, { title: 'Reddit', isExternal: true, path: constants.URL_REDDIT, - fileName: 'reddit.png', + }, + { + title: 'Forum', + isExternal: true, + path: constants.URL_DISCOURSE_FORUM, }, ], Organization: [ @@ -105,6 +105,7 @@ const titleToIcon: { [title: string]: string } = { Blog: 'medium.png', Twitter: 'twitter.png', Reddit: 'reddit.png', + Forum: 'discourse.png', }; export interface FooterProps {} diff --git a/packages/website/ts/components/token_balances.tsx b/packages/website/ts/components/token_balances.tsx index 5e7b4e9f6..2cef413c7 100644 --- a/packages/website/ts/components/token_balances.tsx +++ b/packages/website/ts/components/token_balances.tsx @@ -169,7 +169,7 @@ export class TokenBalances extends React.Component<TokenBalancesProps, TokenBala ? 'In order to try out the 0x Portal Dapp, request some test ether to pay for \ gas costs. It might take a bit of time for the test ether to show up.' : 'Ether must be converted to Ether Tokens in order to be tradable via 0x. \ - You can convert between Ether and Ether Tokens by clicking the "convert" button below.'} + You can convert between Ether and Ether Tokens from the "Wrap ETH" tab.'} </div> <Table selectable={false} style={styles.bgColor}> <TableHeader displaySelectAll={false} adjustForCheckbox={false}> diff --git a/packages/website/ts/components/top_bar.tsx b/packages/website/ts/components/top_bar.tsx index 601471222..c07366a0c 100644 --- a/packages/website/ts/components/top_bar.tsx +++ b/packages/website/ts/components/top_bar.tsx @@ -167,15 +167,13 @@ export class TopBar extends React.Component<TopBarProps, TopBarState> { </div> </div> )} - {this.props.blockchainIsLoaded && - !_.isEmpty(this.props.userAddress) && <div className="col col-5">{this._renderUser()}</div>} - {!this._isViewingPortal() && ( - <div className={`col ${isFullWidthPage ? 'col-2 pl2' : 'col-1'} md-hide lg-hide`}> - <div style={menuIconStyle}> - <i className="zmdi zmdi-menu" onClick={this._onMenuButtonClick.bind(this)} /> - </div> + {this.props.blockchainIsLoaded && _.isEmpty(this.props.userAddress) && + <div className="col col-5 sm-hide xs-hide">{this._renderUser()}</div>} + <div className={`col ${isFullWidthPage ? 'col-2 pl2' : 'col-1'} md-hide lg-hide`}> + <div style={menuIconStyle}> + <i className="zmdi zmdi-menu" onClick={this._onMenuButtonClick.bind(this)} /> </div> - )} + </div> </div> {this._renderDrawer()} </div> diff --git a/packages/website/ts/utils/constants.ts b/packages/website/ts/utils/constants.ts index 3fc1e6397..dded82114 100644 --- a/packages/website/ts/utils/constants.ts +++ b/packages/website/ts/utils/constants.ts @@ -65,6 +65,7 @@ export const constants = { URL_BIGNUMBERJS_GITHUB: 'http://mikemcl.github.io/bignumber.js', URL_BITLY_API: 'https://api-ssl.bitly.com', URL_BLOG: 'https://blog.0xproject.com/latest', + URL_DISCOURSE_FORUM: 'https://forum.0xproject.com', URL_FIREFOX_U2F_ADDON: 'https://addons.mozilla.org/en-US/firefox/addon/u2f-support-add-on/', URL_ETHER_FAUCET: 'https://faucet.0xproject.com', URL_GITHUB_ORG: 'https://github.com/0xProject', diff --git a/packages/website/ts/web3_wrapper.ts b/packages/website/ts/web3_wrapper.ts index 6f260dc48..407c62aaa 100644 --- a/packages/website/ts/web3_wrapper.ts +++ b/packages/website/ts/web3_wrapper.ts @@ -1,6 +1,7 @@ import { BigNumber, intervalUtils, promisify } from '@0xproject/utils'; import * as _ from 'lodash'; import { Dispatcher } from 'ts/redux/dispatcher'; +import { utils } from 'ts/utils/utils'; import * as Web3 from 'web3'; export class Web3Wrapper { @@ -135,7 +136,10 @@ export class Web3Wrapper { await this._updateUserEtherBalanceAsync(this._prevUserAddress); } } - }, 5000); + }, 5000, (err: Error) => { + utils.consoleLog(`Watching network and balances failed: ${err}`); + this._stopEmittingNetworkConnectionAndUserBalanceStateAsync(); + }); } private async _updateUserEtherBalanceAsync(userAddress: string) { const balance = await this.getBalanceInEthAsync(userAddress); @@ -145,6 +149,6 @@ export class Web3Wrapper { } } private _stopEmittingNetworkConnectionAndUserBalanceStateAsync() { - clearInterval(this._watchNetworkAndBalanceIntervalId); + intervalUtils.clearAsyncExcludingInterval(this._watchNetworkAndBalanceIntervalId); } } |