From 999288e49dc03cc7193faf3683ee3dbce191aafa Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Mon, 21 Dec 2015 14:55:53 +0100 Subject: [PATCH 1/2] ui(Signup): update text for new users --- app/partials/first-login-modal.jade | 6 +++--- locales/en-human.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/partials/first-login-modal.jade b/app/partials/first-login-modal.jade index bc53b9874b..ff9243ca66 100644 --- a/app/partials/first-login-modal.jade +++ b/app/partials/first-login-modal.jade @@ -1,6 +1,6 @@ .modal-body.flex .flex-column.flex-between.rocket-text.flex-1 - h3.mtn.h2.em-300.center-align(translate="LAUNCHED") - p.center-align.mtm.width-100.h4.em-300(translate="WELCOME_TEXT") - button.button-success.button-lg.mtl(ng-click="ok()", translate="GET_STARTED") + h3.mtn.h2.em-300.center-align(translate="FIRST_LOGIN_TITLE") + p.center-align.mtm.width-100.h4.em-300(translate="FIRST_LOGIN_TEXT") + button.button-success.button-lg.mtl(ng-click="ok()", translate="FIRST_LOGIN_ACTION") img.rocket-gif.flex-1(src="img/rocket.gif") diff --git a/locales/en-human.json b/locales/en-human.json index 5ba1144e6f..0f92be8187 100644 --- a/locales/en-human.json +++ b/locales/en-human.json @@ -412,9 +412,9 @@ "NOT_STORED" : "Not Stored", "PHRASE_BACKED" : "Phrase Backed", "EMAIL_VERIFIED" : "Email Verified", - "LAUNCHED" : "We've launched!", - "GET_STARTED" : "Get Started", - "WELCOME_TEXT" : "We've launched our wallet! And we're excited to show you all the great features we've added. A brand new Security Center, account management, revamped algorithms and a shiny new interface to name a few - go ahead, get started!", + "FIRST_LOGIN_TITLE" : "Welcome!", + "FIRST_LOGIN_TEXT" : "Welcome to the new version of the Blockchain Wallet! A brand new Security Center, a Recovery phrase to back up your wallet, no address reuse for increased privacy, and a completely new user interface, just to name a few. ", + "FIRST_LOGIN_ACTION" : "Get Started", "TOS" : "ToS", "PRIVACY" : "Privacy Policy", "CREATE_NEW_ACCOUNT_MODAL" : "Divide your wallet into multiple accounts to better allocate, track and manage your funds. Some common account names include Savings, Spending, and Business Expenses.", From 4aac8a73661b8a554d7a23273d590fb0768fcb98 Mon Sep 17 00:00:00 2001 From: Matt Tuzzolo Date: Mon, 21 Dec 2015 13:41:47 +0000 Subject: [PATCH 2/2] Redo #233 Different account wording, don't confirm creation --- app/partials/home.jade | 2 +- app/partials/send.jade | 5 ++- app/partials/settings/import-address.jade | 2 +- app/partials/transaction.jade | 4 +- app/partials/transactions.jade | 2 +- app/templates/destination-input.jade | 4 +- .../js/controllers/accountForm.controller.js | 8 ---- assets/js/controllers/request.controller.js | 2 +- assets/js/controllers/send.controller.js | 4 +- assets/js/routes.js | 2 +- locales/en-human.json | 41 +++++++++---------- .../controllers/account_form_ctrl_spec.coffee | 7 ---- tests/controllers/send_ctrl_spec.coffee | 2 +- 13 files changed, 34 insertions(+), 51 deletions(-) diff --git a/app/partials/home.jade b/app/partials/home.jade index 79531f04f3..7c00d49561 100644 --- a/app/partials/home.jade +++ b/app/partials/home.jade @@ -3,7 +3,7 @@ activity-feed .col-md-6.col-sm-12.col-xs-12.col-home.flex-column .section - h5.mtn.type-h5.em-400.mbl Account Balances + h5.mtn.type-h5.em-400.mbl(translate="BALANCES") ul.pln.account-balances li.flex-between.border-bottom-light(ng-repeat="account in activeAccounts") span.em-500 {{::account.label}} diff --git a/app/partials/send.jade b/app/partials/send.jade index 1163115722..89516c0e79 100644 --- a/app/partials/send.jade +++ b/app/partials/send.jade @@ -34,12 +34,13 @@ ui-select-choices(repeat="origin in origins | filter: getFilter($select.search)" group-by="'type'" ui-disable-choice="hasZeroBalance(origin)") span(ng-class="{aaa: hasZeroBalance(origin)}") label-origin(origin='origin' highlight="$select.search") - span.help-block(ng-show="sendForm.from.$invalid && sendForm.destinations0.$touched") Must select an account to send from + span.help-block(ng-show="sendForm.from.$invalid && sendForm.destinations0.$touched", translate="MUST_SELECT_ORIGIN") //- Advanced Send .form-group.bc-modal-fade.mvl.advanced-recipient.row //- To label.pts.col-sm-2.col-xs-12 - span(translate="TO:") + span(translate="TO") + |: .col-sm-10.col-xs-12 .flex-column(ng-class="{'advanced-recipient-row': advanced}" ng-repeat="item in transaction.destinations track by $index") p.form-control-static(ng-hide="originsLoaded") diff --git a/app/partials/settings/import-address.jade b/app/partials/settings/import-address.jade index 37f0d471bf..ff6115b995 100644 --- a/app/partials/settings/import-address.jade +++ b/app/partials/settings/import-address.jade @@ -66,7 +66,7 @@ p.form-control-static {{ address.address }} .form-group label.col-sm-3.control-label - span(translate="TO_ACCOUNT") + span(translate="TO") |: .col-sm-7 ui-select(ng-model="fields.account") diff --git a/app/partials/transaction.jade b/app/partials/transaction.jade index 3b1b950097..db13e386c8 100644 --- a/app/partials/transaction.jade +++ b/app/partials/transaction.jade @@ -14,7 +14,9 @@ label(translate="FROM:") p.text.mbs {{::from}} .tx-receiver - label(translate="TO:") + label + span(translate="TO") + |: ul.pln.flex-column.flex.type-sm li.flex-center.mbm(ng-repeat="destination in destinations") span.text-overflow-hidden.flex-1.flex.text diff --git a/app/partials/transactions.jade b/app/partials/transactions.jade index 4d93ac7e3e..2ab53f327e 100644 --- a/app/partials/transactions.jade +++ b/app/partials/transactions.jade @@ -8,7 +8,7 @@ translate="{{ f }}" ) .filter-search - input(type="text" placeholder="Search by Account name or Address" ng-model="searchText") + input(type="text" placeholder="{{ 'SEARCH' | translate }}" ng-model="searchText") i.ti-search .transaction-feed .flex-center.flex-justify.flex-column.mtvl(ng-hide="loading || getTotal(accountIndex) > 0 || (transactions | filter:transactionFilter).length > 0 || selectedAccountIndex == 'imported'") diff --git a/app/templates/destination-input.jade b/app/templates/destination-input.jade index a59684eea0..8328fc2e9e 100644 --- a/app/templates/destination-input.jade +++ b/app/templates/destination-input.jade @@ -10,7 +10,7 @@ type="text" tabindex="1" autocomplete="off" - placeholder="Paste or scan an address or select an account" + placeholder="Paste or scan an address or select a destination" ng-model="model.address" ng-hide="model.type === 'Accounts'" ng-blur="blur()" @@ -29,8 +29,6 @@ span.caret span.sr-only Toggle Dropdown ul.uib-dropdown-menu.dropdown-menu-right.drop-menu - li.dropdown-header - | Accounts li(ng-repeat="account in accounts") a(ng-click="setModel(account)" ng-disabled="true") | {{ account.label }} diff --git a/assets/js/controllers/accountForm.controller.js b/assets/js/controllers/accountForm.controller.js index 1fea89249c..9c6e7881ff 100644 --- a/assets/js/controllers/accountForm.controller.js +++ b/assets/js/controllers/accountForm.controller.js @@ -29,14 +29,6 @@ function AccountFormCtrl($scope, Wallet, $uibModalInstance, $log, $translate, ac $scope.status.busy = false; $uibModalInstance.dismiss(""); Wallet.saveActivity(3); - $translate(['SUCCESS', 'ACCOUNT_CREATED']).then(translations => { - $scope.$emit('showNotification', { - type: 'created-account', - icon: 'ti-layout-list-post', - heading: translations.SUCCESS, - msg: translations.ACCOUNT_CREATED - }); - }); }; const error = () => {$scope.status.busy = false;} diff --git a/assets/js/controllers/request.controller.js b/assets/js/controllers/request.controller.js index da25d460ec..a88fe3f485 100644 --- a/assets/js/controllers/request.controller.js +++ b/assets/js/controllers/request.controller.js @@ -22,7 +22,7 @@ function RequestCtrl($scope, Wallet, Alerts, currency, $uibModalInstance, $log, for(const account of $scope.accounts()) { if (account.index != null && !account.archived) { let acct = angular.copy(account); - acct.type = "Accounts"; + acct.type = ""; $scope.destinations.push(acct); if ((destination != null) && (destination.index != null) && destination.index === acct.index) { $scope.fields.to = acct; diff --git a/assets/js/controllers/send.controller.js b/assets/js/controllers/send.controller.js index 6f95ca430b..5d31f31562 100644 --- a/assets/js/controllers/send.controller.js +++ b/assets/js/controllers/send.controller.js @@ -228,7 +228,7 @@ function SendCtrl($scope, $log, Wallet, Alerts, currency, $uibModalInstance, $ti } else { let dest = destinations[0]; $scope.toLabel = dest.index == null ? - dest.label || dest.address : `${dest.label} Account`; + dest.label || dest.address : `${dest.label}`; } }; @@ -271,7 +271,7 @@ function SendCtrl($scope, $log, Wallet, Alerts, currency, $uibModalInstance, $ti balance: origin.balance, archived: origin.archived }; - formatted.type = origin.index != null ? 'Accounts' : 'Imported Addresses'; + formatted.type = origin.index != null ? '' : 'Imported Addresses'; if (origin.index == null) formatted.isWatchOnly = origin.isWatchOnly; return formatted; }; diff --git a/assets/js/routes.js b/assets/js/routes.js index 9f5c99809d..3f2b3837b1 100644 --- a/assets/js/routes.js +++ b/assets/js/routes.js @@ -307,7 +307,7 @@ function AppRouter($stateProvider, $urlRouterProvider) { } }) .state('wallet.common.settings.accounts_index', { - url: '/accounts', + url: '/addresses', views: { settings: { templateUrl: 'partials/settings/accounts.jade', diff --git a/locales/en-human.json b/locales/en-human.json index 0f92be8187..d9c1f01bba 100644 --- a/locales/en-human.json +++ b/locales/en-human.json @@ -7,11 +7,9 @@ "LOGIN_HELP": "Login Help", "LOGIN_HELP_TEXT": "Need help accessing your wallet?", "CREATE_WALLET": "Create Wallet", - "ACCOUNTS": "Accounts", - "NEW_ACCOUNT": "Add Account +", + "NEW_ACCOUNT": "Add +", "MY_TRANSACTIONS": "Transactions", "ALL": "All", - "ACCOUNT": "Account", "SEND_FEEDBACK": "Send Feedback", "BACK": "Back", "CONTACT_SUPPORT": "Contact Support", @@ -68,7 +66,7 @@ "LANGUAGE" : "Wallet Language", "PREFERENCES" : "Preferences", "PREFERENCES_EXPLAIN" : "Customize your wallet experience.", - "MENU_ACCOUNTS_AND_ADDRESSES" : "Accounts & Addresses", + "MENU_ACCOUNTS_AND_ADDRESSES" : "Addresses", "WALLET_INFO" : "Wallet Information", "WALLET_INFO_EXPLAIN" : "Use the Wallet ID to log in via our web client or scan the code below with your iPhone or Android Blockchain Wallet App to access your wallet on your mobile.", "PAIRING_CODE" : "Mobile App Pairing Code", @@ -119,20 +117,20 @@ "CANCEL_EDIT_NOTE" : "Cancel", "WALLET_RECOVERY_PHRASE" : "Wallet Recovery Phrase", "RECOVERY_PHRASE" : "Recovery Phrase", - "RECOVERY_PHRASE_EXPLAIN" : "Your recovery phrase can be used to restore all your funds in the case of a lost password or a loss of service at Blockchain. Note, that the recovery phrase never changes and recovers all of your existing bitcoins as well as newly received funds in this wallet. Please note that imported addresses are not backed up by the wallet recovery phrase. We strongly recommend to transfer funds from imported addresses into an account in this wallet.", + "RECOVERY_PHRASE_EXPLAIN" : "Your recovery phrase can be used to restore all your funds in the case of a lost password or a loss of service at Blockchain. Note, that the recovery phrase never changes and recovers all of your existing bitcoins as well as newly received funds in this wallet. Please note that imported addresses are not backed up by the wallet recovery phrase. We strongly recommend to transfer funds from imported addresses into this wallet.", "CONFIRM_RECOVERY_PHRASE" : "Backup Phrase", "RECOVERY_ERROR": "Unable to import now, please try again.", "NEXT_STEP" : "Next Step", "NEXT" : "Next", "EMAIL" : "Email", "NEW_ACCT_WELCOME" : "Create A New Blockchain Wallet", - "CREATE_NEW_ACCOUNT" : "Create New Account", - "CREATE_ACCOUNT" : "Create Account", + "CREATE_NEW_ACCOUNT" : "Create New", + "CREATE_ACCOUNT" : "Create New", "CREATE_ADDRESS" : "New Address", - "ACCOUNT_NAME" : "Account Name:", + "ACCOUNT_NAME" : "Name:", "REVEAL_XPUB" : "Show xPub", "MANAGE_ADDRESSES" : "Manage Addresses", - "ACCOUNT_XPUB_MODAL_TITLE" : "Account xPub", + "ACCOUNT_XPUB_MODAL_TITLE" : "Extended Public Key", "PENDING" : "Pending", "COMPLETE" : "Complete", "TRANSACTION_COMPLETE" : "Transaction Complete", @@ -143,10 +141,8 @@ "FROM" : "From", "FROM:" : "From:", "TO" : "To", - "TO:" : "To:", "FEE" : "Fee", "TOTAL" : "Total", - "TO_ACCOUNT" : "To Account", "INTERNAL" : "Internal", "GOOGLE_AUTH_CODE" : "Google Authenticator", "SMS_CODE" : "SMS Code", @@ -176,8 +172,7 @@ "HANDLE_BITCOIN_LINKS_EXPLAIN" : "Enable this to allow your Blockchain Wallet to handle bitcoin payment links in the web browser. This will make your experience more convenient when transacting online.", "SET_HANDLE_BITCOIN_LINKS" : "Enable", "HANDLE_BITCOIN_LINKS_STATUS_UNKNOWN" : "We can't detect whether or not handling of bitcoin links has been enabled. If it has already been enabled, nothing will happen.", - "ACCOUNT_MANAGEMENT" : "Account Management", - "ACCOUNT_MANAGEMENT_EXPLAIN" : "Your Blockchain Wallet can create separate accounts within your single wallet. You may find this feature useful when you would like to separate your funds between a savings account and a spending account, or between a personal account and a business account.", + "ACCOUNT_MANAGEMENT_EXPLAIN" : "You can customize the way you organize your bitcoins in your Blockchain Wallet. You may find this useful when you would like to separate your funds between personal and business expenses, or put your savings aside.", "BALANCE" : "Balance", "MAKE_DEFAULT" : "Make default", "RENAME" : "Rename", @@ -207,7 +202,7 @@ "DISABLE_BLOCK_TOR" : "Allow", "ALLOWED" : "Allowed", "BLOCKED" : "Blocked", - "RENAME_ACCOUNT" : "Rename Account", + "RENAME_ACCOUNT" : "Name", "RENAME" : "Rename", "TRANSACTION_WILL_COMPLETE_IN" : "This transaction will complete in approximately {{ minutes }} minutes.", "SPENDABLE_ADDRESSES" : "Spendable Addresses", @@ -227,7 +222,7 @@ "IMPORT_BITCOIN_ADDRESS" : "Import Existing Bitcoin Address", "IMPORT_BITCOIN_ADDRESS_SWEEP" : "Transfer Funds from Imported Address", "IMPORT_BITCOIN_ADDRESS_EXPLAIN" : "Your wallet automatically creates new bitcoin addresses as it needs them. You can optionally import an existing address and transfer the funds to your wallet if you have the corresponding Private Key. This is an advanced functionality and only suggested for advanced users.", - "CONFIRM_NOT_SWEEP" : "Are you sure? We recommend that you sweep these funds into an account.", + "CONFIRM_NOT_SWEEP" : "Are you sure? We recommend that you sweep these funds.", "YOUR_PRIVATE_KEY" : "Show Private Key", "PRIVATE_KEY_VALID" : "The Private Key appears to be Valid", "ADDRESS_VALID" : "The Bitcoin address is valid", @@ -333,7 +328,6 @@ "BITCOIN_CURRENCY_EXPLAIN": "Adjust the precision you would prefer bitcoin values to be displayed in.", "JUST_RECEIVED_BITCOIN" : "You've just received Bitcoin!", "SUCCESS" : "Success!", - "ACCOUNT_CREATED" : "You've successfully created an account", "BITCOIN_SENT" : "You've successfully sent bitcoin", "NO_TRANSACTIONS_YET" : "Your Transactions", "SORRY_ZERO_TXS" : "Sorry, we couldn't find any transactions!", @@ -417,7 +411,7 @@ "FIRST_LOGIN_ACTION" : "Get Started", "TOS" : "ToS", "PRIVACY" : "Privacy Policy", - "CREATE_NEW_ACCOUNT_MODAL" : "Divide your wallet into multiple accounts to better allocate, track and manage your funds. Some common account names include Savings, Spending, and Business Expenses.", + "CREATE_NEW_ACCOUNT_MODAL" : "Divide your wallet to better allocate, track and manage your bitcoins. Some common names include Savings, Spending, and Business Expenses.", "TRANSACTION_DETAIL_STATUS" : "Your transaction has been submitted to the bitcoin network and is waiting for miners to validate the transaction. A transaction is considered to be confirmed when there are 3 network confirmations.", "SEND_BITOIN_STEP2B" : "Add a note to remind yourself of what this transaction relates to. This note will be private and only seen by you, unless you select the Make Public option. If a note is public, anyone viewing the transaction on Blockchain will be able to read your note.", "ADVANCED_SEND_STEP_1" : "A normal miners fee is recommended for most transactions. You can override this recommendation but be advised that lower fees may take several days to confirm.", @@ -426,7 +420,7 @@ "VALUE_NOW" : "Value Now", "VERIFY_ON_BCI" : "Verify on Blockchain.info", "ARE_YOU_SURE" : "We just want to double check! Are you sure you wish to proceed? Remember you cannot go back to your old wallet :)", - "ACCOUNT_NAME_TAKEN" : "That account name is already in use", + "ACCOUNT_NAME_TAKEN" : "That name is already in use", "EMAIL_ADDRESS_TOOLTIP" : "Your verified email address is used to send login codes when unusual activity is detected and to send bitcoin payment alerts when you receive funds.", "RECOVERY_PHRASE_TOOLTIP" : "Your recovery phrase allows you to restore your wallet in case of loss of password or extended downtime on our servers.", "PASSWORD_HINT_TOOLTIP" : "Allows us to send your password hint to your verified email address in case you forget your password.", @@ -461,7 +455,7 @@ "LOGGING" : "Activity Logging", "LOG" : "Log", "LOGGING_EXPLAIN" : "Record wallet activity and display it in your activity feed.", - "ACTIVITY_1": "Accounts", + "ACTIVITY_1": "Addresses", "ACTIVITY_1_DESC": "Created My Bitcoin Wallet", "ACTIVITY_2_DESC": "Set password", "ACTIVITY_3_DESC": "Created wallet!", @@ -474,7 +468,7 @@ "EDIT_NOTE": "Edit", "DELETE_NOTE": "Delete", "ALPHA_WARNING": "Please note, this is an Alpha of a new product. Please do not test this wallet with more funds than you are willing to lose.", - "XPUB_WARNING": "You should only give this Public Key to those you trust. With this information, they may be able to keep track of your payments, and may be able to disrupt your access to your wallet.", + "XPUB_WARNING": "You should only give this Extended Public Key (xPub) to those you trust. With this information, they may be able to keep track of your payments, and may be able to disrupt your access to your wallet.", "LOST_WALLET_ID": "I've lost my Wallet ID", "LOST_WALLET_PWD": "I've lost my Wallet Password", "LOST_2FA": "I've lost my 2FA Device", @@ -501,7 +495,7 @@ "REDIRECTING": "We're redirecting you to your wallet now!", "TAKES_A_WHILE": "This may take a while. If your browser asks if you want to cancel the script, please press continue.", "NOTIFICATIONS" : "Email Notifications", - "NOTIFICATIONS_EXPLAIN" : "Enable notifications to receive an email whenever you receive bitcoins. Only labeled addresses in your accounts and imported addresses are eligible to trigger notifications.", + "NOTIFICATIONS_EXPLAIN" : "Enable notifications to receive an email whenever you receive bitcoins. Only labeled addresses and imported addresses are eligible to trigger notifications.", "VERIFY_EMAIL_FIRST" : "Please verify your email address first.", "UNSUBSCRIBE_SUCCESS" : "We have removed your email address (and phone number) from our systems.", "AUTHORIZE_APPROVE_SUCCESS" : "Login approved! Please return to your previous browser / tab to see your wallet.", @@ -515,5 +509,8 @@ "IP_ADDRESS" : "IP Address", "COUNTRY_OF_ORIGIN" : "Country Of Origin", "AUTHORIZE_REJECT_SUCCESS" : "Login attempt rejected! Please contact support if this was not you.", - "CHECKING_LOGIN_ATTEMPT" : "Checking login attempt" + "CHECKING_LOGIN_ATTEMPT" : "Checking login attempt", + "SEARCH" : "Search", + "BALANCES" : "Balances", + "MUST_SELECT_ORIGIN" :"Must select where to send from" } diff --git a/tests/controllers/account_form_ctrl_spec.coffee b/tests/controllers/account_form_ctrl_spec.coffee index f3685fa29c..e7ec18f3ad 100644 --- a/tests/controllers/account_form_ctrl_spec.coffee +++ b/tests/controllers/account_form_ctrl_spec.coffee @@ -76,13 +76,6 @@ describe "AccountFormCtrl", -> expect(Wallet.accounts()[Wallet.accounts().length - 1].label).toBe("New Account") ) - it "should show a confirmation modal", inject(($uibModal)-> - spyOn($uibModal, "open").and.callThrough() - scope.createAccount() - expect($uibModal.open).toHaveBeenCalled() - expect($uibModal.open.calls.argsFor(0)[0].windowClass).toEqual("notification-modal") - ) - describe "rename", -> it "original name should be shown", -> diff --git a/tests/controllers/send_ctrl_spec.coffee b/tests/controllers/send_ctrl_spec.coffee index cc43c98485..da08354e0f 100644 --- a/tests/controllers/send_ctrl_spec.coffee +++ b/tests/controllers/send_ctrl_spec.coffee @@ -517,7 +517,7 @@ describe "SendCtrl", -> it "should set the label to an account", -> scope.transaction.destinations[0] = scope.accounts()[0] scope.updateToLabel() - expect(scope.toLabel).toEqual('Checking Account') + expect(scope.toLabel).toEqual('Checking') it "should set the label when advanced", -> scope.advanced = true