Merge pull request #4491 from cmgustavo/bug/ui-01

Fix horizontal scroll and layout in Android 4.4.2
This commit is contained in:
Gustavo Maximiliano Cortez 2016-06-24 14:22:49 -03:00 committed by GitHub
commit 3f30dc518e
10 changed files with 165 additions and 157 deletions

View file

@ -55,6 +55,10 @@ module.exports = function(grunt) {
files: ['src/css/*.css'],
tasks: ['concat:css']
},
sass: {
files: ['src/sass/*.scss'],
tasks: ['sass', 'concat:css']
},
main: {
files: [
'src/js/init.js',

View file

@ -8,10 +8,10 @@
<div class="create-tab small-only-text-center" ng-hide="create.hideTabs">
<div class="row">
<div class="tab-container small-6 medium-3 large-2" ng-class="{'selected': totalCopayers == 1}">
<div class="tab-container small-6 medium-6 large-6" ng-class="{'selected': totalCopayers == 1}">
<a href ng-click="create.setTotalCopayers(1)" translate>Personal Wallet</a>
</div>
<div class="tab-container small-6 medium-3 large-2" ng-class="{'selected': totalCopayers != 1}">
<div class="tab-container small-6 medium-6 large-6" ng-class="{'selected': totalCopayers != 1}">
<a href ng-click="create.setTotalCopayers(3)" translate>Shared Wallet</a>
</div>
</div>
@ -58,7 +58,7 @@
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny" ng-click="hideAdv=!hideAdv">
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
@ -134,19 +134,17 @@
</label>
</div>
<div class="oh" ng-show="create.seedSourceId == 'new'">
<label for="network-name" class="dbi">
<span>Testnet</span>
<ion-toggle ng-model="testnetEnabled" toggle-class="toggle-balanced" class="bct">
</ion-toggle>
</label>
<ion-toggle ng-model="testnetEnabled" toggle-class="toggle-balanced" class="bct">
<span class="toggle-label">Testnet</span>
</ion-toggle>
</div>
<div class="oh" ng-show="create.seedSourceId == 'new'">
<label for="single-address" class="dbi">
<span class="db" translate>Single Address Wallet</span>
<small translate>For audit purposes</small>
<ion-toggle ng-model="singleAddressEnabled" toggle-class="toggle-balanced" class="bct">
</ion-toggle>
</label>
<ion-toggle ng-model="singleAddressEnabled" toggle-class="toggle-balanced" class="bct">
<div class="toggle-label">
<span class="db" translate>Single Address Wallet</span>
<small translate>For audit purposes</small>
</div>
</ion-toggle>
</div>
</div> <!-- columns -->
</div> <!-- advanced -->

View file

@ -21,93 +21,98 @@
<div ng-show="type == '12' ">
<div class="box-notification m20b" ng-show="import.importErr">
<div ng-show="import.importErr" class="text-warning">
<div class="m10 text-bold" translate>Could not access the wallet at the server. Please check:</div>
<ul class="size-12">
<li translate>The password of the recovery phrase (if set)
</li>
<li translate>The derivation path
</li>
<li translate>The wallet service URL
</ul>
<div class="m15l">
<span translate>NOTE: To import a wallet from a 3rd party software, please go to Add Wallet &gt; Create Wallet, and specify the Recovery Phrase there.</span><br>
</div>
</div>
</div>
<div class="box-notification m20b" ng-show="import.error">
<div class="text-warning">
{{import.error|translate}}
</div>
</div>
<div class="row large-12 columns">
<form name="importForm12" ng-submit="import.importMnemonic(importForm12)" novalidate>
<div >
<label for="words">
<span translate>Type the Recovery Phrase (usually 12 words)</span>:
</label>
<textarea class="form-control" name="words" ng-model="import.words" rows="2" autocapitalize="off" spellcheck="false"></textarea>
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<label for="passphrase" class="oh"><span translate>Password</span> <small translate>The Wallet Recovery Phrase could require a password to be imported</small>
<div class="input">
<input type="password" class="form-control" placeholder="{{'Password'|translate}}"
name="passphrase" ng-model="import.passphrase">
</div>
</label>
<div>
<label class="oh"><span translate>Derivation Path</span> <small translate>BIP32 path for address derivation</small>
<input type="text" class="form-control" name="derivationPath" ng-model="derivationPath">
</label>
</div>
<label for="bws" class="oh">
<span>Wallet Service URL</span>
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
</label>
<div class="oh">
<label for="network-name" class="dbi">
<span>Testnet</span>
<ion-toggle ng-model="testnetEnabled" ng-change="setDerivationPath()" toggle-class="toggle-balanced" class="bct">
</ion-toggle>
</label>
<div class="row">
<div class="large-12 columns">
<div class="box-notification m20b" ng-show="import.importErr">
<div ng-show="import.importErr" class="text-warning">
<div class="m10 text-bold" translate>Could not access the wallet at the server. Please check:</div>
<ul class="size-12">
<li translate>The password of the recovery phrase (if set)
</li>
<li translate>The derivation path
</li>
<li translate>The wallet service URL
</ul>
<div class="m15l">
<span translate>NOTE: To import a wallet from a 3rd party software, please go to Add Wallet &gt; Create Wallet, and specify the Recovery Phrase there.</span><br>
</div>
</div>
</div>
</div>
<button translate type="submit" class="button round expand black m10t"
ng-disabled="importForm12.$invalid ">
Import
</button>
</form>
<div class="box-notification m20b" ng-show="import.error">
<div class="text-warning">
{{import.error|translate}}
</div>
</div>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<form name="importForm12" ng-submit="import.importMnemonic(importForm12)" novalidate>
<div >
<label for="words">
<span translate>Type the Recovery Phrase (usually 12 words)</span>:
</label>
<textarea class="form-control" name="words" ng-model="import.words" rows="2" autocapitalize="off" spellcheck="false"></textarea>
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<label for="passphrase" class="oh"><span translate>Password</span> <small translate>The Wallet Recovery Phrase could require a password to be imported</small>
<div class="input">
<input type="password" class="form-control" placeholder="{{'Password'|translate}}"
name="passphrase" ng-model="import.passphrase">
</div>
</label>
<div>
<label class="oh"><span translate>Derivation Path</span> <small translate>BIP32 path for address derivation</small>
<input type="text" class="form-control" name="derivationPath" ng-model="derivationPath">
</label>
</div>
<label for="bws" class="oh">
<span>Wallet Service URL</span>
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
</label>
<div class="oh">
<ion-toggle ng-model="testnetEnabled" ng-change="setDerivationPath()" toggle-class="toggle-balanced" class="bct">
<span class="toggle-label">Testnet</span>
</ion-toggle>
</div>
</div>
</div>
<button translate type="submit" class="button round expand black m10t"
ng-disabled="importForm12.$invalid ">
Import
</button>
</form>
</div>
</div>
</div>
<div ng-show="type == 'file' ">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<div class="row large-12 columns">
<div class="row">
<div class="large-12 columns">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<form name="importForm" ng-submit="import.importBlob(importForm)" novalidate>
<div ng-show="!index.isSafari && !index.isCordova" class="line-b m10b">
@ -133,7 +138,7 @@
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny" ng-click="hideAdv=!hideAdv">
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
@ -156,72 +161,74 @@
Import backup
</button>
</form>
</div>
</div>
</div>
<div ng-show="type == 'hwWallet'">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<div class="row large-12 columns">
<div class="row">
<div class="large-12 columns">
<div class="box-notification m20b" ng-show="import.error">
<span class="text-warning size-14">
{{import.error|translate}}
</span>
</div>
<form name="importForm3" ng-submit="import.importHW(importForm3)" novalidate>
<div class="large-12 columns">
<div ng-show="!import.seedOptions[0]">
<span translate>No hardware wallets supported on this device</span>
</div>
<div ng-show="import.seedOptions[0]">
<div>
<label><span translate>Wallet Recovery Phrase</span>
<select class="m10t" ng-model="seedSource"
ng-options="seed as seed.label for seed in import.seedOptions"
ng-change="import.setSeedSource()">
</select>
</label>
<form name="importForm3" ng-submit="import.importHW(importForm3)" novalidate>
<div class="large-12 columns">
<div ng-show="!import.seedOptions[0]">
<span translate>No hardware wallets supported on this device</span>
</div>
<div ng-show="import.seedSourceId == 'trezor' || import.seedSourceId == 'ledger'">
<label class="oh"><span translate>Account Number</span>
<input type="number" id="account" ng-model="account">
</label>
</div>
<div ng-show="import.seedSourceId == 'trezor'">
<label for="isMultisig" class="oh">
<span translate>Shared Wallet</span>
<switch id="isMultisig" name="isMultisig" ng-model="isMultisig" class="green right m5t m10b"></switch>
</label>
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<label for="bws" class="oh">
<span>Wallet Service URL</span>
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
<div ng-show="import.seedOptions[0]">
<div>
<label><span translate>Wallet Recovery Phrase</span>
<select class="m10t" ng-model="seedSource"
ng-options="seed as seed.label for seed in import.seedOptions"
ng-change="import.setSeedSource()">
</select>
</label>
</div>
</div>
<div ng-show="import.seedSourceId == 'trezor' || import.seedSourceId == 'ledger'">
<label class="oh"><span translate>Account Number</span>
<input type="number" id="account" ng-model="account">
</label>
</div>
<div class="oh" ng-show="import.seedSourceId == 'trezor'">
<ion-toggle ng-model="isMultisig" toggle-class="toggle-balanced" class="bct">
<span class="toggle-label" translate>Shared Wallet</span>
</ion-toggle>
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>
<i ng-if="hideAdv" class="icon-arrow-down4"></i>
<i ng-if="!hideAdv" class="icon-arrow-up4"></i>
</a>
</div>
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<label for="bws" class="oh">
<span>Wallet Service URL</span>
<input type="text" id="bwsurl" name="bwsurl" ng-model="bwsurl">
</label>
</div>
</div>
<button translate type="submit" class="button round expand black">
Import
</button>
</div> <!-- seedoptions show -->
</div>
</form>
<button translate type="submit" class="button round expand black">
Import
</button>
</div> <!-- seedoptions show -->
</div>
</form>
</div>
</div>
</div>
</div>

View file

@ -44,7 +44,7 @@
</div>
<div class="m10t oh" ng-init="hideAdv=true">
<a class="button outline light-gray expand tiny" ng-click="hideAdv=!hideAdv">
<a class="button outline light-gray expand tiny p10i" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
<span translate ng-hide="!hideAdv">Show advanced options</span>
<span translate ng-hide="hideAdv">Hide advanced options</span>

View file

@ -15,7 +15,7 @@
<li href ui-sref="preferencesAlias">
<div class="right text-gray">
{{index.alias||index.walletName}}
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Alias</div>
</li>
@ -24,7 +24,7 @@
<div class="right text-gray">
<span ng-if="!index.preferences.email" translate>Disabled</span>
<span ng-if="index.preferences.email">{{index.preferences.email}}</span>
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Email Notifications</div>
</li>
@ -32,7 +32,7 @@
<li href ui-sref="preferencesColor">
<div class="right text-gray">
<span ng-style="{'color':index.backgroundColor}">&block;</span>
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Color</div>
</li>

View file

@ -9,7 +9,7 @@
<li href ui-sref="preferencesLanguage">
<div class="right text-gray">
{{currentLanguageName|translate}}
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Language</div>
</li>
@ -20,7 +20,7 @@
<li href ui-sref="preferencesUnit">
<div class="right text-gray">
{{unitName}}
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Unit</div>
</li>
@ -28,7 +28,7 @@
<li href ui-sref="preferencesAltCurrency">
<div class="right text-gray">
{{selectedAlternative.name}}
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Alternative Currency</div>
</li>
@ -39,7 +39,7 @@
<li href ui-sref="preferencesFee">
<div class="right text-gray">
{{feeOpts[currentFeeLevel]|translate}}
<i class="icon-arrow-right3 size-24"></i>
<i class="icon-arrow-right3 size-24 right"></i>
</div>
<div translate>Bitcoin Network Fee Policy</div>
</li>
@ -81,7 +81,7 @@
<i class="icon-arrow-right3 size-24 right text-gray"></i>
<div translate>About Copay</div>
</li>
</ul>
</ul>
<h4></h4>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -61,24 +61,22 @@
.bct {
background-color: transparent !important;
margin-top: -25px;
padding-bottom: 30px;
right: -24px !important;
border-width: 0px;
margin-bottom: 15px !important;
}
.r0 {
right: 0px !important;
}
.item-toggle .toggle {
right: 28px;
.item {
margin: 0;
border: none;
border-bottom: 1px solid #E9E9EC;
}
.toggle-label {
color: rgb(41, 55, 68);
font-size: 14px;
margin-left: 5px;
}
button, .button {

View file

@ -275,7 +275,6 @@ angular.module('copayApp.controllers').controller('importController',
}
account = account - 1;
}
var isMultisig = form.isMultisig.$modelValue;
switch (self.seedSourceId) {
case ('ledger'):
@ -284,7 +283,7 @@ angular.module('copayApp.controllers').controller('importController',
break;
case ('trezor'):
ongoingProcess.set('connectingtrezor', true);
self.importTrezor(account, isMultisig);
self.importTrezor(account, $scope.isMultisig);
break;
default:
throw ('Error: bad source id');

View file

@ -536,8 +536,6 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
$ionicPlatform.ready(function() {
if (platformInfo.isCordova) {
ionic.Platform.fullScreen(true, false);
$ionicPlatform.registerBackButtonAction(function(event) {
event.preventDefault();
}, 100);

View file

@ -111,7 +111,7 @@ h4.title a {
}
.preferences ul li {
padding: 13px 20px;
padding: 16px 10px 16px 16px;
border-bottom: 1px solid #E9E9EC;
}
@ -715,6 +715,10 @@ ul.manage li {
padding: 10px;
}
.p10i {
padding: 10px !important;
}
.p10b {
padding-bottom: 10px;
}