diff --git a/src/app/directives/passwordMeterDirective.js b/src/app/directives/passwordMeterDirective.js index 9b8e79b8e9..15b6e86fcd 100644 --- a/src/app/directives/passwordMeterDirective.js +++ b/src/app/directives/passwordMeterDirective.js @@ -3,15 +3,14 @@ angular .directive('passwordMeter', function () { return { - template: '
{{value}}%
', restrict: 'A', scope: { password: '=passwordMeter', username: '=passwordMeterUsername', - outerClass: '@?', - outerStyle: '@?' + outerClass: '@?' }, link: function (scope) { var measureStrength = function (username, password) { diff --git a/src/app/global/premiumRequiredController.js b/src/app/global/premiumRequiredController.js index 6d64ee16fc..91502f86c2 100644 --- a/src/app/global/premiumRequiredController.js +++ b/src/app/global/premiumRequiredController.js @@ -1,7 +1,7 @@ angular .module('bit.global') - .controller('premiumRequiredController', function ($scope, $state, $uibModalInstance, $analytics) { + .controller('premiumRequiredController', function ($scope, $state, $uibModalInstance, $analytics, $uibModalStack) { $analytics.eventTrack('premiumRequiredController', { category: 'Modal' }); $scope.go = function () { @@ -12,6 +12,6 @@ angular }; $scope.close = function () { - $uibModalInstance.dismiss('close'); + $uibModalStack.dismissAll(); }; }); diff --git a/src/app/settings/views/settingsTwoStep.html b/src/app/settings/views/settingsTwoStep.html index a26e405ee4..b1823dd4e9 100644 --- a/src/app/settings/views/settingsTwoStep.html +++ b/src/app/settings/views/settingsTwoStep.html @@ -30,8 +30,11 @@ - {{::provider.name}} - PREMIUM + + {{::provider.name}} + PREMIUM +
{{::provider.description}}
diff --git a/src/app/vault/vaultAddLoginController.js b/src/app/vault/vaultAddLoginController.js index b5b352b5aa..503bbdfc71 100644 --- a/src/app/vault/vaultAddLoginController.js +++ b/src/app/vault/vaultAddLoginController.js @@ -2,7 +2,7 @@ .module('bit.vault') .controller('vaultAddLoginController', function ($scope, apiService, $uibModalInstance, cryptoService, cipherService, - passwordService, selectedFolder, $analytics, checkedFavorite, $rootScope, authService) { + passwordService, selectedFolder, $analytics, checkedFavorite, $rootScope, authService, $uibModal) { $analytics.eventTrack('vaultAddLoginController', { category: 'Modal' }); $scope.folders = $rootScope.vaultFolders; $scope.login = { @@ -61,4 +61,12 @@ $scope.close = function () { $uibModalInstance.dismiss('close'); }; + + $scope.showPremium = function () { + $uibModal.open({ + animation: true, + templateUrl: 'app/views/premiumRequired.html', + controller: 'premiumRequiredController' + }); + }; }); diff --git a/src/app/vault/vaultEditLoginController.js b/src/app/vault/vaultEditLoginController.js index f7c6764746..8017096482 100644 --- a/src/app/vault/vaultEditLoginController.js +++ b/src/app/vault/vaultEditLoginController.js @@ -2,7 +2,7 @@ .module('bit.vault') .controller('vaultEditLoginController', function ($scope, apiService, $uibModalInstance, cryptoService, cipherService, - passwordService, loginId, $analytics, $rootScope, authService) { + passwordService, loginId, $analytics, $rootScope, authService, $uibModal) { $analytics.eventTrack('vaultEditLoginController', { category: 'Modal' }); $scope.folders = $rootScope.vaultFolders; $scope.login = {}; @@ -98,4 +98,12 @@ $scope.close = function () { $uibModalInstance.dismiss('cancel'); }; + + $scope.showPremium = function () { + $uibModal.open({ + animation: true, + templateUrl: 'app/views/premiumRequired.html', + controller: 'premiumRequiredController' + }); + }; }); diff --git a/src/app/vault/views/vaultAddLogin.html b/src/app/vault/views/vaultAddLogin.html index faecfbc988..3ac323cb68 100644 --- a/src/app/vault/views/vaultAddLogin.html +++ b/src/app/vault/views/vaultAddLogin.html @@ -76,7 +76,7 @@
+ outer-class="xs" class="password-meter">
@@ -87,9 +87,12 @@ ng-readonly="readOnly" api-field />
-
- +
+
+ + PREMIUM +
diff --git a/src/app/vault/views/vaultEditLogin.html b/src/app/vault/views/vaultEditLogin.html index 637b0fdad7..f4470bebdc 100644 --- a/src/app/vault/views/vaultEditLogin.html +++ b/src/app/vault/views/vaultEditLogin.html @@ -88,7 +88,7 @@
+ outer-class="xs" class="password-meter">
@@ -99,9 +99,12 @@ ng-readonly="readOnly" api-field />
-
- +
+
+ + PREMIUM +
diff --git a/src/images/totp-countdown.png b/src/images/totp-countdown.png new file mode 100644 index 0000000000..87b9fe14ab Binary files /dev/null and b/src/images/totp-countdown.png differ diff --git a/src/less/vault.less b/src/less/vault.less index 256d9585e7..b10e2bdb89 100644 --- a/src/less/vault.less +++ b/src/less/vault.less @@ -620,14 +620,29 @@ h1, h2, h3, h4, h5, h6 { } } +.clickable { + cursor: pointer; +} + .label-full { font-size: 85%; font-weight: normal; } -.totp { - margin-bottom: 10px; +.totp-col { + margin: -10px 0 10px 0; + @media (min-width: @screen-md) { + padding-top: 26px; + margin: 0; + } + + img { + margin-right: 10px; + } +} + +.totp { .totp-code { font-family: @font-family-monospace; font-size: 1.2em; @@ -681,3 +696,15 @@ h1, h2, h3, h4, h5, h6 { } } } + +.password-meter { + .progress { + margin-bottom: 10px; + } + + @media (min-width: @screen-md) { + .progress { + margin-bottom: 0; + } + } +}