diff --git a/scss/ionic.app.scss b/scss/ionic.app.scss
index 8f7eeec2beb0056bba80b6425fc7cd8c6808601a..cd5d6799724d728c750e8cc49400e3f0cf6ca84f 100644
--- a/scss/ionic.app.scss
+++ b/scss/ionic.app.scss
@@ -989,36 +989,6 @@ body {
height: 200px;
}
- .qrcode {
- position: absolute;
- top: 30px;
- padding: 3px;
- background: #fff;
- width: 90px;
- max-width: 30%;
- right: -170px;
- -webkit-backface-visibility: hidden !important;
- backface-visibility: hidden !important;
- -webkit-transition: all 0.5s ease-out !important;
- transition: all 0.5s ease-out !important;
-
- img {
- width: 100%;
- }
- }
-
- .qrcode.on {
- right: 30px;
- }
-
- .qrcode.active {
- top: 0px !important;
- right: 0px !important;
- padding: 10px;
- width: 200px;
- max-width: 50%;
- }
-
.item-text-wrap {
white-space: normal !important;
}
@@ -1059,8 +1029,43 @@ body {
}
+
+.view-wallet,
+.view-identity {
+ .qrcode {
+ position: absolute;
+ top: 30px;
+ padding: 3px;
+ background: #fff;
+ width: 90px;
+ max-width: 30%;
+ right: -170px;
+ -webkit-backface-visibility: hidden !important;
+ backface-visibility: hidden !important;
+ -webkit-transition: all 0.5s ease-out !important;
+ transition: all 0.5s ease-out !important;
+
+ img {
+ width: 100%;
+ }
+ }
+
+ .qrcode.on {
+ right: 30px;
+ }
+
+ .qrcode.active {
+ top: 0px !important;
+ right: 0px !important;
+ padding: 10px;
+ width: 200px;
+ max-width: 50%;
+ }
+}
+
@media screen and (max-width: $screen-sm-max) {
- .view-wallet {
+ .view-wallet,
+ .view-identity {
.qrcode {
top: 8px;
width: 60px;
@@ -1077,6 +1082,11 @@ body {
}
}
}
+ .view-identity {
+ .qrcode.active {
+ width: 180px;
+ }
+ }
}
@@ -1164,8 +1174,10 @@ body {
background-color: var(--refresher-background-color);
}
+
}
+
/******
* Cards
*******/
diff --git a/www/js/controllers/wot-controllers.js b/www/js/controllers/wot-controllers.js
index 82e2f5ac59a98ca8f1eca01edadf20ecd2b5fccb..db0194e04dfff9af984cba81d37c2ecce90534d0 100644
--- a/www/js/controllers/wot-controllers.js
+++ b/www/js/controllers/wot-controllers.js
@@ -1038,6 +1038,7 @@ function WotIdentityViewController($scope, $rootScope, $controller, $timeout, $s
angular.extend(this, $controller('WotIdentityAbstractCtrl', {$scope: $scope}));
$scope.motion = UIUtils.motion.fadeSlideInRight;
+ $scope.qrcodeId = 'qrcode-wot-' + $scope.$id;
$scope.$on('$ionicView.enter', function(e, state) {
@@ -1050,6 +1051,8 @@ function WotIdentityViewController($scope, $rootScope, $controller, $timeout, $s
$scope.removeActionParamInLocationHref(state);
}
+
+ $scope.showQRCode();
};
var options = {
cache: true,
@@ -1127,6 +1130,32 @@ function WotIdentityViewController($scope, $rootScope, $controller, $timeout, $s
});
});
};
+
+ $scope.showQRCode = function(timeout) {
+ if (!$scope.qrcode) {
+ $scope.qrcode = new QRCode(
+ $scope.qrcodeId,
+ {
+ text: $scope.formData.pubkey,
+ width: 200,
+ height: 200,
+ correctLevel: QRCode.CorrectLevel.L
+ });
+ UIUtils.motion.toggleOn({selector: '#'+$scope.qrcodeId}, timeout || 1100);
+ }
+ else {
+ $scope.qrcode.clear();
+ $scope.qrcode.makeCode($scope.formData.pubkey);
+ UIUtils.motion.toggleOn({selector: '#'+$scope.qrcodeId}, timeout || 1100);
+ }
+ };
+
+ $scope.hideQRCode = function() {
+ if ($scope.qrcode) {
+ $scope.qrcode.clear();
+ UIUtils.motion.toggleOff({selector: '#'+$scope.qrcodeId});
+ }
+ };
}
/**
diff --git a/www/templates/wot/view_identity.html b/www/templates/wot/view_identity.html
index 776b1476eb8f51a33bf80b6e1656ab140636c78c..8e820bc9557616ee3bf78cc13e7b61e5d7069947 100644
--- a/www/templates/wot/view_identity.html
+++ b/www/templates/wot/view_identity.html
@@ -38,6 +38,11 @@
</div>
+ <div ng-attr-id="{{ qrcodeId }}"
+ class="qrcode spin"
+ ng-class="{'active': toggleQRCode}"
+ ng-click="toggleQRCode = !toggleQRCode"></div>
+
<!-- button bar-->
<a id="wot-share-anchor-{{::formData.pubkey}}"></a>
<div class="hidden-xs hidden-sm padding text-center">