mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 00:33:44 +00:00
added option to disable auto totp copying
This commit is contained in:
@@ -86,8 +86,16 @@ angular
|
||||
}, { frameId: pageDetails[i].frameId }, $window.close);
|
||||
|
||||
if (login.totp && tokenService.getPremium()) {
|
||||
totpService.getCode(login.totp).then(function (code) {
|
||||
utilsService.copyToClipboard(code);
|
||||
totpService.isAutoCopyEnabled().then(function (enabled) {
|
||||
if (enabled) {
|
||||
return totpService.getCode(login.totp);
|
||||
}
|
||||
|
||||
return null;
|
||||
}).then(function (code) {
|
||||
if (code) {
|
||||
utilsService.copyToClipboard(code);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +1,52 @@
|
||||
angular
|
||||
.module('bit.settings')
|
||||
|
||||
.controller('settingsFeaturesController', function ($scope, i18nService, $analytics, constantsService, utilsService) {
|
||||
.controller('settingsFeaturesController', function ($scope, i18nService, $analytics, constantsService, utilsService,
|
||||
totpService, $timeout) {
|
||||
$scope.i18n = i18nService;
|
||||
$scope.disableGa = false;
|
||||
$scope.disableAddLoginNotification = false;
|
||||
$scope.disableContextMenuItem = false;
|
||||
|
||||
chrome.storage.local.get(constantsService.disableGaKey, function (obj) {
|
||||
// Default for Firefox is disabled.
|
||||
if ((utilsService.isFirefox() && obj[constantsService.disableGaKey] === undefined) ||
|
||||
obj[constantsService.disableGaKey]) {
|
||||
$scope.disableGa = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableGa = false;
|
||||
}
|
||||
|
||||
$scope.$apply();
|
||||
$timeout(function () {
|
||||
// Default for Firefox is disabled.
|
||||
if ((utilsService.isFirefox() && obj[constantsService.disableGaKey] === undefined) ||
|
||||
obj[constantsService.disableGaKey]) {
|
||||
$scope.disableGa = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableGa = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
chrome.storage.local.get(constantsService.disableAddLoginNotificationKey, function (obj) {
|
||||
if (obj && obj[constantsService.disableAddLoginNotificationKey]) {
|
||||
$scope.disableAddLoginNotification = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableAddLoginNotification = false;
|
||||
}
|
||||
|
||||
$scope.$apply();
|
||||
$timeout(function () {
|
||||
if (obj && obj[constantsService.disableAddLoginNotificationKey]) {
|
||||
$scope.disableAddLoginNotification = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableAddLoginNotification = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
chrome.storage.local.get(constantsService.disableContextMenuItemKey, function (obj) {
|
||||
if (obj && obj[constantsService.disableContextMenuItemKey]) {
|
||||
$scope.disableContextMenuItem = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableContextMenuItem = false;
|
||||
}
|
||||
$timeout(function () {
|
||||
if (obj && obj[constantsService.disableContextMenuItemKey]) {
|
||||
$scope.disableContextMenuItem = true;
|
||||
}
|
||||
else {
|
||||
$scope.disableContextMenuItem = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$scope.$apply();
|
||||
totpService.isAutoCopyEnabled().then(function (enabled) {
|
||||
$timeout(function () {
|
||||
$scope.disableAutoTotpCopy = !enabled;
|
||||
});
|
||||
});
|
||||
|
||||
$scope.updateGa = function () {
|
||||
@@ -57,8 +64,9 @@
|
||||
}
|
||||
|
||||
chrome.storage.local.set(obj, function () {
|
||||
$scope.disableGa = obj[constantsService.disableGaKey];
|
||||
$scope.$apply();
|
||||
$timeout(function () {
|
||||
$scope.disableGa = obj[constantsService.disableGaKey];
|
||||
});
|
||||
if (!obj[constantsService.disableGaKey]) {
|
||||
$analytics.eventTrack('Enabled Analytics');
|
||||
}
|
||||
@@ -79,8 +87,9 @@
|
||||
}
|
||||
|
||||
chrome.storage.local.set(obj, function () {
|
||||
$scope.disableAddLoginNotification = obj[constantsService.disableAddLoginNotificationKey];
|
||||
$scope.$apply();
|
||||
$timeout(function () {
|
||||
$scope.disableAddLoginNotification = obj[constantsService.disableAddLoginNotificationKey];
|
||||
});
|
||||
if (!obj[constantsService.disableAddLoginNotificationKey]) {
|
||||
$analytics.eventTrack('Enabled Add Login Notification');
|
||||
}
|
||||
@@ -101,8 +110,9 @@
|
||||
}
|
||||
|
||||
chrome.storage.local.set(obj, function () {
|
||||
$scope.disableContextMenuItem = obj[constantsService.disableContextMenuItemKey];
|
||||
$scope.$apply();
|
||||
$timeout(function () {
|
||||
$scope.disableContextMenuItem = obj[constantsService.disableContextMenuItemKey];
|
||||
});
|
||||
if (!obj[constantsService.disableContextMenuItemKey]) {
|
||||
$analytics.eventTrack('Enabled Context Menu Item');
|
||||
}
|
||||
@@ -112,4 +122,27 @@
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$scope.updateAutoTotpCopy = function () {
|
||||
chrome.storage.local.get(constantsService.disableAutoTotpCopyKey, function (obj) {
|
||||
if (obj[constantsService.disableAutoTotpCopyKey]) {
|
||||
// enable
|
||||
obj[constantsService.disableAutoTotpCopyKey] = false;
|
||||
}
|
||||
else {
|
||||
// disable
|
||||
$analytics.eventTrack('Disabled Auto Copy TOTP');
|
||||
obj[constantsService.disableAutoTotpCopyKey] = true;
|
||||
}
|
||||
|
||||
chrome.storage.local.set(obj, function () {
|
||||
$timeout(function () {
|
||||
$scope.disableAutoTotpCopy = obj[constantsService.disableAutoTotpCopyKey];
|
||||
});
|
||||
if (!obj[constantsService.disableAutoTotpCopyKey]) {
|
||||
$analytics.eventTrack('Enabled Auto Copy TOTP');
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
@@ -6,6 +6,17 @@
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="list">
|
||||
<div class="list-section">
|
||||
<div class="list-section-items">
|
||||
<div class="list-section-item list-section-item-checkbox">
|
||||
<label for="totp-copy">{{i18n.disableAutoTotpCopy}}</label>
|
||||
<input id="totp-copy" type="checkbox" ng-model="disableAutoTotpCopy" ng-change="updateAutoTotpCopy()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-section-footer">
|
||||
{{i18n.disableAutoTotpCopyDesc}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-section">
|
||||
<div class="list-section-items">
|
||||
<div class="list-section-item list-section-item-checkbox">
|
||||
|
||||
Reference in New Issue
Block a user