diff --git a/public/views/includes/confirm-tx.html b/public/views/includes/confirm-tx.html index 13998a843..594790af9 100644 --- a/public/views/includes/confirm-tx.html +++ b/public/views/includes/confirm-tx.html @@ -7,7 +7,7 @@
{{tx.amountStr}}
{{tx.alternativeAmountStr}}
-
+
diff --git a/public/views/includes/copyToClipboard.html b/public/views/includes/copyToClipboard.html new file mode 100644 index 000000000..c4ec03c4c --- /dev/null +++ b/public/views/includes/copyToClipboard.html @@ -0,0 +1,7 @@ + +
+ +
+
diff --git a/public/views/includes/output.html b/public/views/includes/output.html index 82b886a29..2a960a0b7 100644 --- a/public/views/includes/output.html +++ b/public/views/includes/output.html @@ -1,14 +1,14 @@ -
  • +
  • To: {{output.toAddress || output.address}}
  • -
  • +
  • Amount: {{output.amountStr}} {{output.alternativeAmountStr}}
  • -
  • +
  • Note: {{output.message}}
  • diff --git a/public/views/modals/tx-details.html b/public/views/modals/tx-details.html index 6d73add62..076c02080 100644 --- a/public/views/modals/tx-details.html +++ b/public/views/modals/tx-details.html @@ -25,7 +25,7 @@

    Moved

    -
    +
    {{btx.amountStr}}
    @@ -46,7 +46,7 @@
    • + ng-click="copyToClipboard(btx.addressTo, $event)"> To @@ -89,19 +89,19 @@
    • + ng-click="copyToClipboard(btx.feeStr, $event)"> Fee {{btx.feeStr}}
    • + ng-click="copyToClipboard(btx.message, $event)"> Description {{btx.message}}
    • + ng-click="copyToClipboard(btx.merchant.pr.pd.memo, $event)"> Merchant message {{btx.merchant.pr.pd.memo}} diff --git a/public/views/modals/txp-details.html b/public/views/modals/txp-details.html index fd17432c9..63370eac6 100644 --- a/public/views/modals/txp-details.html +++ b/public/views/modals/txp-details.html @@ -14,7 +14,7 @@
      {{tx.amountStr}}
      {{tx.alternativeAmountStr}}
      - + Multiple recipients diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 284fef3a3..f46603b98 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -279,7 +279,7 @@

      My Bitcoin address

      -
      +
      diff --git a/src/css/ionic-migration.css b/src/css/ionic-migration.css index bd311bb26..58c49a4b3 100644 --- a/src/css/ionic-migration.css +++ b/src/css/ionic-migration.css @@ -43,6 +43,15 @@ font-size: 16px; } +.popover, .popover .bar-header { + border-radius: 10px; +} + +.popover { + height: auto; + width: 200px; +} + .popup-container.active .popup { border-radius: 10px; } diff --git a/src/js/controllers/modals/txDetails.js b/src/js/controllers/modals/txDetails.js index aac60fd59..205ba17fd 100644 --- a/src/js/controllers/modals/txDetails.js +++ b/src/js/controllers/modals/txDetails.js @@ -85,9 +85,9 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio return n.substring(0, 4); }; - $scope.copyToClipboard = function(addr) { + $scope.copyToClipboard = function(addr, $event) { if (!addr) return; - self.copyToClipboard(addr); + self.copyToClipboard(addr, $event); }; $scope.cancel = function() { diff --git a/src/js/controllers/modals/txpDetails.js b/src/js/controllers/modals/txpDetails.js index 0dfb585a2..710a6e314 100644 --- a/src/js/controllers/modals/txpDetails.js +++ b/src/js/controllers/modals/txpDetails.js @@ -227,9 +227,9 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi }); }; - $scope.copyToClipboard = function(addr) { + $scope.copyToClipboard = function(addr, $event) { if (!addr) return; - self.copyToClipboard(addr); + self.copyToClipboard(addr, $event); }; $scope.close = function(txp) { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 05bfc5dc9..4a720fc6b 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, notification, txStatus, profileService, lodash, configService, rateService, storageService, bitcore, gettext, gettextCatalog, platformInfo, addressService, ledger, bwcError, confirmDialog, txFormatService, addressbookService, go, feeService, walletService, fingerprintService, nodeWebkit, ongoingProcess) { +angular.module('copayApp.controllers').controller('walletHomeController', function($scope, $rootScope, $interval, $timeout, $filter, $log, $ionicModal, $ionicPopover, notification, txStatus, profileService, lodash, configService, rateService, storageService, bitcore, gettext, gettextCatalog, platformInfo, addressService, ledger, bwcError, confirmDialog, txFormatService, addressbookService, go, feeService, walletService, fingerprintService, nodeWebkit, ongoingProcess) { var isCordova = platformInfo.isCordova; var isWP = platformInfo.isWP; @@ -200,12 +200,36 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); }; - this.copyToClipboard = function(addr) { + this.copyToClipboard = function(addr, $event) { + + var showPopover = function() { + + $ionicPopover.fromTemplateUrl('views/includes/copyToClipboard.html', { + scope: $scope + }).then(function(popover) { + $scope.popover = popover; + $scope.popover.show($event); + }); + + $scope.close = function() { + $scope.popover.hide(); + } + + $timeout(function() { + $scope.popover.hide(); //close the popover after 0.7 seconds + }, 700); + + $scope.$on('$destroy', function() { + $scope.popover.remove(); + }); + }; + if (isCordova) { window.cordova.plugins.clipboard.copy(addr); window.plugins.toast.showShortCenter(gettextCatalog.getString('Copied to clipboard')); } else if (platformInfo.isNW) { nodeWebkit.writeToClipboard(addr); + showPopover($event); } };