fix : Scanner and keyboard at same time
This commit is contained in:
parent
919d29e1b5
commit
1ebba5c0d0
10 changed files with 83 additions and 49 deletions
|
|
@ -919,13 +919,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
|
||||
window.addEventListener('native.keyboardshow', function() {
|
||||
document.querySelector('div.tabs').style.display = 'none';
|
||||
angular.element(document.querySelector('ion-content.has-tabs')).css('bottom', 0);
|
||||
});
|
||||
|
||||
window.addEventListener('native.keyboardhide', function() {
|
||||
var tabs = document.querySelectorAll('div.tabs');
|
||||
angular.element(tabs[0]).css('display', '');
|
||||
document.body.classList.add('keyboard-open');
|
||||
});
|
||||
|
||||
$ionicPlatform.registerBackButtonAction(function(e) {
|
||||
|
|
|
|||
|
|
@ -152,25 +152,11 @@ input[type=number] {
|
|||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.qr-icon {
|
||||
line-height: 45px;
|
||||
}
|
||||
|
||||
.input-notification {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.qr-scan-icon a {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
right: 0;
|
||||
padding: 0 10px;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.pr {
|
||||
position: relative;
|
||||
}
|
||||
|
|
@ -443,3 +429,11 @@ input[type=file] {
|
|||
.left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.keyboard-open .tabs {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.keyboard-open .has-tabs {
|
||||
bottom: 0;
|
||||
}
|
||||
|
|
|
|||
13
src/sass/views/import.scss
vendored
13
src/sass/views/import.scss
vendored
|
|
@ -9,4 +9,17 @@
|
|||
border-bottom-width: 2px;
|
||||
border-bottom-color: #172565;
|
||||
}
|
||||
.qr-scan-icon a {
|
||||
z-index: 10;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 0;
|
||||
padding: 0 10px;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.qr-icon {
|
||||
line-height: 45px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
src/sass/views/join.scss
Normal file
15
src/sass/views/join.scss
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#join {
|
||||
.qr-scan-icon a {
|
||||
z-index: 10;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 115px;
|
||||
right: 0;
|
||||
padding: 0 10px;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.qr-icon {
|
||||
line-height: 45px;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,17 @@
|
|||
#tab-send {
|
||||
.qr-scan-icon a {
|
||||
z-index: 10;
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 55px;
|
||||
right: 0;
|
||||
padding: 0 10px;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.qr-icon {
|
||||
line-height: 45px;
|
||||
}
|
||||
.zero-state-cta {
|
||||
padding-bottom: 3vh;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
@import "includes/actionSheet";
|
||||
@import "export";
|
||||
@import "import";
|
||||
@import "join";
|
||||
@import "includes/walletActivity";
|
||||
@import "includes/wallets";
|
||||
@import "includes/modals/modals";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view class="settings">
|
||||
<ion-view id="join" class="settings">
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
|
|
@ -21,25 +21,26 @@
|
|||
ng-required="true">
|
||||
</label>
|
||||
|
||||
<label class="item item-input item-stacked-label no-border">
|
||||
<span class="input-label" translate>Wallet Invitation</span>
|
||||
<div class="input-notification">
|
||||
<i class="icon ion-checkmark-circled balanced"
|
||||
ng-show="!joinForm.secret.$invalid"></i>
|
||||
<i class="icon ion-close-circled assertive"
|
||||
ng-show="joinForm.secret.$invalid && secret"></i>
|
||||
</div>
|
||||
<div class="qr-scan-icon">
|
||||
<qr-scanner class="qr-icon size-24" on-scan="join.onQrCodeScanned(data)"></qr-scanner>
|
||||
<div>
|
||||
<label class="item item-input item-stacked-label no-border">
|
||||
<span class="input-label" translate>Wallet Invitation</span>
|
||||
<div class="input-notification">
|
||||
<i class="icon ion-checkmark-circled balanced"
|
||||
ng-show="!joinForm.secret.$invalid"></i>
|
||||
<i class="icon ion-close-circled assertive"
|
||||
ng-show="joinForm.secret.$invalid && secret"></i>
|
||||
</div>
|
||||
<input id="secret"
|
||||
type="text"
|
||||
placeholder="{{'Paste invitation here'|translate}}"
|
||||
name="secret"
|
||||
ng-model="secret"
|
||||
wallet-secret required>
|
||||
</label>
|
||||
<div class="qr-scan-icon">
|
||||
<qr-scanner class="qr-icon size-24" on-scan="join.onQrCodeScanned(data)"></qr-scanner>
|
||||
</div>
|
||||
</label>
|
||||
|
||||
</div>
|
||||
<div class="item item-divider"></div>
|
||||
|
||||
<a class="item" ng-click="showAdvChange()">
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
</label>
|
||||
</div>
|
||||
<div class="col text-center">
|
||||
<qr-scanner class="qr-icon size-24" on-scan="onQrCodeScanned(data)"></qr-scanner>
|
||||
<qr-scanner class="size-24" ng-style="{'line-height': '45px'}" on-scan="onQrCodeScanned(data)"></qr-scanner>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" ng-show="isPkEncrypted">
|
||||
|
|
|
|||
|
|
@ -12,17 +12,18 @@
|
|||
|
||||
<form name="importForm12" ng-submit="importMnemonic(importForm12)" novalidate>
|
||||
<div class="list settings-list settings-input-group">
|
||||
<label class="item item-input item-stacked-label no-border">
|
||||
<span class="input-label" translate>Type the Recovery Phrase (usually 12 words)</span>
|
||||
<div>
|
||||
<label class="item item-input item-stacked-label no-border">
|
||||
<span class="input-label" translate>Type the Recovery Phrase (usually 12 words)</span>
|
||||
<textarea ng-model="formData.words"
|
||||
rows="3"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"></textarea>
|
||||
</label>
|
||||
<div class="qr-scan-icon">
|
||||
<qr-scanner class="qr-icon size-24" on-scan="processWalletInfo(data)"></qr-scanner>
|
||||
<textarea ng-model="formData.words"
|
||||
rows="3"
|
||||
autocapitalize="off"
|
||||
spellcheck="false"></textarea>
|
||||
</div>
|
||||
</label>
|
||||
|
||||
</div>
|
||||
<div class="item item-divider"></div>
|
||||
|
||||
<a class="item" ng-click="showAdvChange()">
|
||||
|
|
|
|||
|
|
@ -20,15 +20,17 @@
|
|||
</div>
|
||||
<div ng-if="hasFunds" class="has-funds">
|
||||
<div class="item item-heading send-heading" translate>Recipient</div>
|
||||
<label class="item item-input bitcoin-address">
|
||||
<i class="icon icon-svg placeholder-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<div class="qr-scan-icon" ng-style="{'width': '100%'}">
|
||||
<a on-tap="openScanner()" ng-style="{'top': '6px'}">
|
||||
<div>
|
||||
<label class="item item-input bitcoin-address">
|
||||
<i class="icon icon-svg placeholder-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<input type="text" placeholder="{{'Search or enter bitcoin address' | translate}}" ng-model="formData.search" ng-change="findContact(formData.search)" ng-model-onblur>
|
||||
</label>
|
||||
<div class="qr-scan-icon">
|
||||
<a on-tap="openScanner()" ng-style="{'top': '55px'}">
|
||||
<i class="icon ion-qr-scanner"></i>
|
||||
</a>
|
||||
<input type="text" placeholder="{{'Search or enter bitcoin address' | translate}}" ng-model="formData.search" ng-change="findContact(formData.search)" ng-model-onblur>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<span translate>Contacts</span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue