diff --git a/index.html b/index.html index 8a3d065d5..02641a1ce 100644 --- a/index.html +++ b/index.html @@ -73,6 +73,15 @@ +
+
+
+ A newer version of Copay is now available, please update your wallet to a latest version. + Please check Copay.io. +
+
+
+
@@ -206,7 +215,7 @@

Join a Wallet in Creation

- +
@@ -292,7 +301,7 @@
diff --git a/js/controllers/header.js b/js/controllers/header.js index 36c40e123..9c76edf88 100644 --- a/js/controllers/header.js +++ b/js/controllers/header.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copay.header').controller('HeaderController', - function($scope, $rootScope, $location, $notification, walletFactory, controllerUtils) { + function($scope, $rootScope, $location, $notification, $http, walletFactory, controllerUtils) { $scope.menu = [ { 'title': 'Addresses', @@ -23,6 +23,18 @@ angular.module('copay.header').controller('HeaderController', var beep = new Audio('sound/transaction.mp3'); + $http.get('https://api.github.com/repos/bitpay/copay/tags').success(function(data){ + var toInt = function (s) { return parseInt(s); }; + var latestVersion = data[0].name.replace('v', '').split('.').map(toInt); + var currentVersion = copay.version.split('.').map(toInt); + + if (currentVersion[0] < latestVersion[0]){ + $scope.updateVersion = 'error'; + } else if (currentVersion[0] == latestVersion[0] && currentVersion[1] < latestVersion[1]) { + $scope.updateVersion = 'info'; + } + }); + // Initialize alert notification (not show when init wallet) $rootScope.txAlertCount = 0; $rootScope.$watch('txAlertCount', function(txAlertCount) { diff --git a/js/directives.js b/js/directives.js index 822fdae85..33fad2040 100644 --- a/js/directives.js +++ b/js/directives.js @@ -124,7 +124,7 @@ angular.module('copay.directives') return { replace: false, restrict: 'EACM', - scope: { model: '=checkStrength' }, + require: 'ngModel', link: function(scope, element, attrs) { var _grep = function(elems, callback, invert) { var callbackInverse, @@ -146,6 +146,7 @@ angular.module('copay.directives') }; var strength = { + messages: ['too weak', 'weak', 'weak', 'medium', 'strong'], colors: ['#c0392b', '#e74c3c', '#d35400', '#f39c12', '#27ae60'], mesureStrength: function (p) { var _force = 0; @@ -178,14 +179,15 @@ angular.module('copay.directives') else if (s <= 40) { idx = 3; } else { idx = 4; } - return { idx: idx + 1, col: this.colors[idx] }; + return { idx: idx + 1, col: this.colors[idx], message: this.messages[idx] }; } }; - - scope.$watch('model', function (newValue, oldValue) { + + scope.$watch(attrs.ngModel, function (newValue, oldValue) { if (newValue && newValue !== '') { var c = strength.getColor(strength.mesureStrength(newValue)); - element.css({ 'border-color': c.col }) + element.css({ 'border-color': c.col }); + scope[attrs.checkStrength] = c.message; } }); }