diff --git a/package.json b/package.json index 2a148042b..0ec4c1070 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "license": "ISC", "scripts": { "test": "./node_modules/.bin/karma start test/karma.conf.js", - "test-travis": "./node_modules/.bin/karma start test/karma.conf.js --single-run --browsers Firefox && cat ./coverage/*/lcov.info | ./node_modules/.bin/coveralls" + "test-travis": "./node_modules/.bin/karma start test/karma.conf.js --single-run --browsers Firefox" }, "repository": { "type": "git", diff --git a/src/jade/client/index.jade b/src/jade/client/index.jade index 697e264fa..8fcdb1a97 100755 --- a/src/jade/client/index.jade +++ b/src/jade/client/index.jade @@ -13,9 +13,9 @@ a.exchange(href="#/exchange", ng-class="{active: $route.current.tabName == 'exchange'}") span.nav-icon.nav-icon-exchange - span(l10n) Convert + span(l10n) Trade (simple) //- a.sub(href="#/exchange", ng-class="{active: $route.current.tabName == 'exchange'}", l10n) Convert - a.sub(href="#/trade", ng-class="{active: $route.current.tabName == 'trade'}", l10n) Trade + a.sub(href="#/trade", ng-class="{active: $route.current.tabName == 'trade'}", l10n) Trade (advanced) a.fund(href="#/xrp", ng-class="{active: $route.current.tabName == 'xrp'}") span.nav-icon.nav-icon-advanced diff --git a/src/jade/client/navbar.jade b/src/jade/client/navbar.jade index 3b08ee511..820512958 100644 --- a/src/jade/client/navbar.jade +++ b/src/jade/client/navbar.jade @@ -139,6 +139,8 @@ nav.navbar(role="navigation", ng-controller="NavbarCtrl") a(href="#/xrp", l10n) Fund li(ng-class="{active: $route.current.tabName == 'withdraw'}") a(href="#/withdraw", l10n) Withdraw - div.auth-attention.banner.text-center(ng-if="recovered", ng-show="recovered") - h4(l10n) Your account was successfully recovered and encrypted with the new password you provided! - a(href="#", ng-click="recovered = false", l10n) dismiss + .container.recover-status-wrapper.text-center.ng-scope(ng-if='recovered', ng-show='recovered') + .alert.alert-info + h4.tx-status(l10n='l10n') + | Your account was successfully recovered and encrypted with the new password you provided! + a.dismiss(href='#', ng-click='recovered = false', l10n='l10n') × diff --git a/src/jade/tabs/banner/unfunded.jade b/src/jade/tabs/banner/unfunded.jade index 26661e1c0..a676782a7 100644 --- a/src/jade/tabs/banner/unfunded.jade +++ b/src/jade/tabs/banner/unfunded.jade @@ -2,6 +2,6 @@ div.auth-attention.banner h4(l10n) Welcome to Ripple Trade! Your account needs to be activated. You can activate it in 2 ways: ul li(l10n) Have another user send XRP to your Ripple name (~{{userCredentials.username}}). - a(href="https://ripple.com/knowledge_center/activating-your-wallet/", target="_blank") Suggestions for getting XRP. + a(href="https://ripple.com/knowledge_center/activating-your-wallet/", target="_blank") Suggestions for getting XRP. li(l10n) - a(href="#/btc") Deposit BTC + a(href="#/btc") Deposit BTC diff --git a/src/jade/tabs/login/form.jade b/src/jade/tabs/login/form.jade index c896e407b..41fde3f9f 100644 --- a/src/jade/tabs/login/form.jade +++ b/src/jade/tabs/login/form.jade @@ -13,16 +13,19 @@ div.row.row-padding-small.twoFactor(ng-show="twoFactor") span.status.verifyText(ng-show="twoFactor.via === 'sms'", l10n) Please enter the verification code from the SMS message sent to your device: span.status.verifyText(ng-show="twoFactor.via === 'app'", l10n) Please enter the verification code from the Authy app installed on your device: span.maskedPhone(ng-bind="maskedPhone") - span - button.btn.btn-cancel.btn-nomargin-xs(type="button", ng-click="requestToken()") - span(ng-show="twoFactor.via === 'sms'", l10n) Resend - span(ng-show="twoFactor.via === 'app'", l10n) Send Via SMS .label-wrapper.col-xs-12 label(for='token', l10n) Verification Code - .form-group.col-xs-12 + .form-group.col-xs-12.col-sm-8.col-md-8.col-lg-7 input.form-control(type='number', name='token', ng-model='token', rp-focus) + .form-group.col-xs-12.col-sm-8.col-md-8.col-lg-7 + .row + .col-xs-6 + button.btn.btn-success.btn-block(type="button", ng-click="requestToken()") + span(ng-show="twoFactor.via === 'sms'", l10n) Resend + span(ng-show="twoFactor.via === 'app'", l10n) Send Via SMS + .col-xs-6 + a.btn.btn-cancel.btn-block(ng-click="cancel2FA()", l10n) cancel .input-group.col-xs-12 label input.rememberMe(name='rememberMe', type='checkbox', ng-model='rememberMe') span(for='rememberMe', l10n) Remember me on this device for 30 days - diff --git a/src/jade/tabs/register.jade b/src/jade/tabs/register.jade index a716eb4cc..58d47a3ca 100644 --- a/src/jade/tabs/register.jade +++ b/src/jade/tabs/register.jade @@ -102,7 +102,7 @@ section.col-xs-12.content(ng-controller="RegisterCtrl") label(for='register_masterkey', l10n) Secret key a.hide-key(href="", ng-click="showMasterKeyInput=false", l10n) hide div.register_masterkey - input.form-control#register_masterkey(name='register_masterkey', type='text', + input.form-control#register_masterkey(name='register_masterkey', type='password', autocomplete='off', ng-model="masterkey", rp-master-key, rp-master-address-exists, rp-focus) div.inputSpinner(ng-hide="!checkingMasterkey") diff --git a/src/jade/tabs/security.jade b/src/jade/tabs/security.jade index 230f0358f..ca6fb308e 100644 --- a/src/jade/tabs/security.jade +++ b/src/jade/tabs/security.jade @@ -101,11 +101,11 @@ section.col-xs-12.content(ng-controller="SecurityCtrl") .col-xs-9.col-md-5.col-sm-9 input.form-control#verifyToken(name="verifyToken", ng-model="verifyToken") .col-xs-3.col-md-3.col-sm-3 - button.btn.btn-default.btn-block(type="button", ng-disabled="isRequesting", + button.btn.btn-cancel.btn-block(type="button", ng-disabled="isRequesting", ng-click="requestToken()") img(src="img/button-s.png", class="loader", ng-show="isRequesting") span(class="loading_text", ng-hide="via === 'app'", l10n) Resend Code - span(ng-show="via === 'app'", l10n) Send Via SMS + span(class="sms-txt", ng-show="via === 'app'", l10n) Send Via SMS .row .col-xs-8.col-sm-3 button.btn.btn-primary.btn-block(type="button", ng-disabled="isVerifying", ng-click="enable2FA()") diff --git a/src/js/tabs/recover.js b/src/js/tabs/recover.js index d71b17a19..bcd6a758f 100644 --- a/src/js/tabs/recover.js +++ b/src/js/tabs/recover.js @@ -66,7 +66,7 @@ RecoverTab.prototype.angular = function (module) { var message = err.message || err; if (err.message == 'Invalid ECDSA signature') { - message = 'Please check your secret key'; + message = 'Please check your secret key '; } $scope.recoverError = message; diff --git a/src/less/ripple/content.less b/src/less/ripple/content.less index ffe90a361..d86b1ca74 100644 --- a/src/less/ripple/content.less +++ b/src/less/ripple/content.less @@ -426,7 +426,29 @@ a.danger { .ripple-addon { font-size: 18px; } - +.alert { + position: relative; + .tx-status { + font: 12px 'OpenSansRegular'; + font-weight: normal; + margin: 0; + text-align: left; + } + .dismiss { + position: absolute; + right: 10px; + top: 14px; + font-family: "Helvetica Neue Bold"; + font-size: 21px; + font-weight: bold; + color: @black; + text-decoration: none; + opacity: 0.2; + &:hover { + opacity: 0.5; + } + } +} .auth-attention { margin-bottom: 20px; font-size: 13px; diff --git a/src/less/ripple/layout.less b/src/less/ripple/layout.less index 8bc924d9c..a7f3867c3 100644 --- a/src/less/ripple/layout.less +++ b/src/less/ripple/layout.less @@ -309,6 +309,13 @@ header { display: none; } } + .recover-status-wrapper { + margin-top: 30px; + .alert { + margin-left: 15px; + margin-right: 15px; + } + } } @sideNavWidth: 150px; diff --git a/src/less/ripple/tabs.less b/src/less/ripple/tabs.less index 560269fce..4f4478728 100644 --- a/src/less/ripple/tabs.less +++ b/src/less/ripple/tabs.less @@ -1570,6 +1570,9 @@ button.spinner { padding-left:0; } + .sms-txt { + text-transform: lowercase; + } } .sessionUnlock { diff --git a/test/karma.conf.js b/test/karma.conf.js index e70b656c6..1b31c1086 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -16,7 +16,8 @@ module.exports = function(config) { autoWatch: true, // coverage - reporters: ['progress', 'coverage'], + // reporters: ['progress', 'coverage'], + reporters: ['progress'], preprocessors: { 'src/js/**/*.js': ['coverage']