diff options
author | Brandon Millman <brandon@0xproject.com> | 2018-06-30 03:01:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-30 03:01:13 +0800 |
commit | cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d (patch) | |
tree | e17104279cc60566fd8443ba7805ec7e64380f84 /packages/website/ts/utils/utils.ts | |
parent | 50556e26098a9720f933153697008fb4ea8ececb (diff) | |
parent | ddec01e6c1d9cfeaf5b01278b1b796644705433b (diff) | |
download | dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar.gz dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar.bz2 dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar.lz dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar.xz dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.tar.zst dexon-sol-tools-cc12bc9247d432b7f1248c8c0aaf9f905fa58d6d.zip |
Merge pull request #792 from 0xProject/feature/website/wallet-polish
Various wallet polish items
Diffstat (limited to 'packages/website/ts/utils/utils.ts')
-rw-r--r-- | packages/website/ts/utils/utils.ts | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/packages/website/ts/utils/utils.ts b/packages/website/ts/utils/utils.ts index d12ae6a98..726e1815f 100644 --- a/packages/website/ts/utils/utils.ts +++ b/packages/website/ts/utils/utils.ts @@ -9,6 +9,7 @@ import deepEqual = require('deep-equal'); import * as _ from 'lodash'; import * as moment from 'moment'; import { + AccountState, BlockchainCallErrs, BrowserType, Environments, @@ -192,23 +193,37 @@ export const utils = { const truncatedAddress = `${address.substring(0, 6)}...${address.substr(-4)}`; // 0x3d5a...b287 return truncatedAddress; }, - getReadableAccountState( + getReadableAccountState(accountState: AccountState, userAddress: string): string { + switch (accountState) { + case AccountState.Loading: + return 'Loading...'; + case AccountState.Ready: + return utils.getAddressBeginAndEnd(userAddress); + case AccountState.Locked: + return 'Please Unlock'; + case AccountState.Disconnected: + return 'Connect a Wallet'; + default: + return ''; + } + }, + getAccountState( isBlockchainReady: boolean, providerType: ProviderType, injectedProviderName: string, userAddress?: string, - ): string { + ): AccountState { const isAddressAvailable = !_.isUndefined(userAddress) && !_.isEmpty(userAddress); const isExternallyInjectedProvider = utils.isExternallyInjected(providerType, injectedProviderName); if (!isBlockchainReady) { - return 'Loading account'; + return AccountState.Loading; } else if (isAddressAvailable) { - return utils.getAddressBeginAndEnd(userAddress); + return AccountState.Ready; // tslint:disable-next-line: prefer-conditional-expression } else if (isExternallyInjectedProvider) { - return 'Account locked'; + return AccountState.Locked; } else { - return 'No wallet detected'; + return AccountState.Disconnected; } }, hasUniqueNameAndSymbol(tokens: Token[], token: Token): boolean { |