Merge pull request #2307 from bechi/add-wallet

Mobile and desktop more consistent
This commit is contained in:
Gustavo Maximiliano Cortez 2015-01-16 01:13:23 -03:00
commit c0f59adced
32 changed files with 306 additions and 242 deletions

View file

@ -173,6 +173,7 @@ if [ $CURRENT_OS == "WP8" ]; then
checkOK
cp -vf wp/Properties/* $PROJECT/platforms/wp8/Properties/
cp -vf wp/Package.appxmanifest $PROJECT/platforms/wp8/
cp -vf wp/MainPage.xaml $PROJECT/platforms/wp8/
checkOK
cp -vf wp/Assets/* $PROJECT/platforms/wp8/Assets/
cp -vf wp/SplashScreenImage.jpg $PROJECT/platforms/wp8/

View file

@ -21,7 +21,7 @@
<preference name="StatusBarBackgroundColor" value="#3C4E60" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="BackupWebStorage" value="none"/>
<preference name="windows-target-version" value="8.1"/>
<preference name="windows-target-version" value="8.1"/>
<feature name="App">
<param name="android-package" value="com.bitpay.copay" />
</feature>

View file

@ -31,15 +31,16 @@
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True" d:DesignHeight="768" d:DesignWidth="480"
xmlns:my="clr-namespace:WPCordovaClassLib">
<Grid x:Name="LayoutRoot" Background="Transparent" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<my:CordovaView HorizontalAlignment="Stretch"
Margin="0,0,0,0"
x:Name="CordovaView"
VerticalAlignment="Stretch" />
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<my:CordovaView
HorizontalAlignment="Stretch"
Margin="1,0,0,0"
x:Name="CordovaView"
VerticalAlignment="Stretch" />
</Grid>
</phone:PhoneApplicationPage>

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
cordova/wp/SplashScreenImage.jpg Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before After
Before After

View file

@ -142,15 +142,11 @@ header .alt-currency {
right: 0;
}
.head .title {
.head .founds {
float: left;
padding-left: 2rem;
}
.head .title h1 {
margin: 0;
}
.head .menu {
float: right;
position: relative;
@ -267,7 +263,6 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
padding: 0.5rem 0.65rem;
background-color: #fff;
color: #1ABC9C;
border-radius: 3px;
line-height: 24px;
text-align: center;
}
@ -319,6 +314,27 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
line-height: 24px;
}
.buttons-sidebar {
color: #A5B2BF;
font-weight: 700;
font-size: 12px;
display: block;
padding: 0.5rem 0;
line-height: 16px;
}
.buttons-sidebar .col1 {
margin-top: 2px;
}
.buttons-sidebar .col1 i {
background-color: #2C3E50;
color: #A5B2BF;
border-radius: 100%;
padding: .3rem 0.55rem;
margin: 0 7px;
}
.button.small.side-bar {
padding: 0rem 0.4rem;
}
@ -483,15 +499,43 @@ ul.tx-copayers {
color: #2C3E50;
}
a.button-setup.add-wallet {
opacity: .5;
margin: 1rem auto;
width: 125px;
font-size: 14px;
padding: .3rem 0.7rem;
.manage a {
text-align: center;
text-transform: uppercase;
font-weight: 700;
color: #1ABC9C;
}
.manage a.join {
color: #2980B9;
}
.manage a.import {
color: #213140;
}
.manage a i {
background-color: #1ABC9C;
width: 60px;
height: 60px;
padding: 0.85rem;
border-radius: 100%;
display: block;
font-size: 30px;
margin: 0 auto 20px;
color: #fff;
}
.manage a.join i {
background-color: #2980B9;
}
.manage a.import i {
background-color: #213140;
}
a.button-setup {
border-radius: 3px;
border: 1px solid #E4E8EC;
@ -622,11 +666,8 @@ a.button-setup {
.name-wallet {
font-size: 14px;
width: 72%;
float: left;
color: #fff;
text-transform: lowercase;
font-weight: 500;
font-weight: 700;
}
.name-wallet i {
@ -640,16 +681,14 @@ a.button-setup {
}
.founds {
font-weight: 100;
color: #B6E9DF;
font-size: 20px;
color: #7A8C9E;
font-weight: 700;
}
.locked {
font-size: 11px;
background-color: #213140;
width: 100%;
padding: 0.3rem 0.7rem;
color: white;
color: #7A8C9E;
}
.hidden {
@ -1063,7 +1102,7 @@ ul.wallet-selection.wallets {
}
.side-nav.wallets li {
margin: 1.2rem 0;
margin: 0.8rem 0;
padding: 0.3rem 0.1rem;
}

View file

@ -5,6 +5,10 @@
*/
@media (max-width: 1024px) {
body {
overflow: hidden;
-ms-content-zooming: none;
}
.loading-screen {
background-color: #2C3E50;
@ -19,15 +23,48 @@
}
.page, .main {
height: auto;
height: 100%;
}
.main {
height: 92%;
margin-top: 30px;
margin-left: 0;
margin-bottom: -30px;
padding: 20px 0 80px 0;
padding: 60px 0 80px 0;
}
/* Fix IE 10 */
.extra-margin-bottom {
display: block
height: 75px
overflow: hidden
clear: both
}
.main {
height: 99%
overflow: auto
}
/* Fix IE 11 */
_:-ms-fullscreen, :root .extra-margin-bottom {
display: block;
height: 75px;
overflow: hidden;
clear: both;
}
_:-ms-fullscreen, :root .main {
height: 99%;
overflow: auto;
}
/* Fix Firefox */
@-moz-document url-prefix() {
.extra-margin-bottom {
display: block;
height: 75px;
overflow: hidden;
clear: both;
}
}
.tab-bar {
@ -57,18 +94,20 @@
}
header {
height: 45px;
background-color: #213140;
background-image: -webkit-linear-gradient(#2C3E50 0%, #1D2833 100%);
background-image: -o-linear-gradient(#2C3E50 0%, #1D2833 100%);
background-image: linear-gradient(#2C3E50 0%, #1D2833 100%);
box-shadow: 0px 1px 0px 0px #2C3E50, inset -1px 0px 0px 0px rgba(0,0,0,0.24);
height: 120px;
width: 100%;
line-height: 110%;
padding-left: 0.45rem;
padding: 1rem;
}
header .photo-container {
width: 35px;
height: 35px;
margin-right: 10px;
margin-top: 5px;
width: 45px;
height: 45px;
margin-bottom: 5px;
}
header h1 {
@ -78,7 +117,7 @@
.scroll-section {
position: absolute;
top: 45px;
top: 120px;
overflow-y: auto;
}
@ -154,7 +193,6 @@
}
ul.off-canvas-list li a {
text-transform: uppercase;
font-size: 12px;
vertical-align: middle;
font-weight: 100;
@ -180,27 +218,15 @@
opacity: 0.6;
}
ul.off-canvas-list li .buttons-sidebar {
.buttons-sidebar {
color: #4B6178;
font-weight: 700;
font-size: 12px;
display: block;
padding: 0.5rem 0;
}
.buttons-sidebar .col1 {
margin-top: 2px;
}
.buttons-sidebar .col1 i {
background-color: #fff;
color: #4B6178;
border-radius: 100%;
padding: .3rem 0.55rem;
margin: 0 7px;
}
.bottombar-item a {
color: #7A8C9E;
padding: 0.5rem 0;

View file

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="msapplication-tap-highlight" content="no">
<title>Copay - Multisignature Wallet</title>
<style type="text/css">
@ -84,13 +84,15 @@
<a class="left-off-canvas-toggle menu-icon" ><span></span></a>
</section>
<section class="right-small" ng-show="$root.iden && $root.wallet.isComplete() && !$root.hideWalletNavigation">
<a class="p10" ng-click="$root.go('more')"><i class="fi-widget size-24"></i></a>
<section class="right-small"
ng-show="$root.iden && $root.wallet.isComplete() && !$root.hideWalletNavigation && isCordova">
<a class="p10"
ng-click="openScanner()"><i class="fi-camera size-24"></i></a>
</section>
<section class="middle tab-bar-section">
<h1 class="title ellipsis" ng-show="$root.iden && $root.wallet && !$root.hideWalletNavigation">
{{$root.wallet.getName()}}
{{$root.wallet.getName()}}
</h1>
</section>
</nav>
@ -119,7 +121,9 @@
ng-class="{'dni':$root.hideNavigation || $root.wpInputFocused}"
></div>
<section ng-class="{'main':$root.iden && !$root.starting && !$root.hideNavigation && !$root.wpInputFocused}" ng-view></section>
<section
ng-class="{'main':$root.iden && !$root.starting && !$root.hideNavigation && !$root.wpInputFocused}"
ng-view></section>
<a class="exit-off-canvas"></a>

View file

@ -72,7 +72,7 @@ angular.module('copayApp.controllers').controller('CreateController',
});
};
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
});
});

View file

@ -1,10 +1,8 @@
'use strict';
angular.module('copayApp.controllers').controller('HomeWalletController', function($scope, $rootScope, $timeout, $filter, $modal, rateService, notification, txStatus, identityService) {
angular.module('copayApp.controllers').controller('HomeWalletController', function($scope, $rootScope, $timeout, $filter, $modal, rateService, notification, txStatus, identityService, isMobile) {
$scope.initHome = function() {
$rootScope.title = 'Home';
};
$scope.isMobile = isMobile.any();
$scope.openTxModal = function(tx) {
var ModalInstanceCtrl = function($scope, $modalInstance) {

View file

@ -100,8 +100,8 @@ angular.module('copayApp.controllers').controller('ImportController',
};
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
});
});

View file

@ -154,7 +154,7 @@ angular.module('copayApp.controllers').controller('JoinController',
}
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
$scope.$on("$destroy", function () {
$rootScope.hideWalletNavigation = false;
});
});

View file

@ -50,6 +50,17 @@ angular.module('copayApp.controllers').controller('SendController',
});
};
if (isCordova) {
var openScannerCordova = $rootScope.$on('dataScanned', function(event, data) {
$scope.sendForm.address.$setViewValue(data);
$scope.sendForm.address.$render();
});
$scope.$on('$destroy', function() {
openScannerCordova();
});
}
$scope.formFocus = function(what) {
if (!$scope.isWindowsPhoneApp) return
@ -183,17 +194,17 @@ angular.module('copayApp.controllers').controller('SendController',
var comment = form.comment.$modelValue;
var merchantData = $scope._merchantData;
var address, amount;
if (!merchantData) {
if (!merchantData) {
address = form.address.$modelValue;
amount = parseInt((form.amount.$modelValue * unitToSat).toFixed(0));
}
w.spend({
w.spend({
merchantData: merchantData,
toAddress: address,
amountSat: amount,
comment: comment,
}, function (err, txid, status) {
comment: comment,
}, function (err, txid, status) {
$scope.loading = false;
$scope.creatingTX = false;
if ($scope.isWindowsPhoneApp)
@ -202,8 +213,8 @@ angular.module('copayApp.controllers').controller('SendController',
if (err)
return $scope.setError(err);
txStatus.notify(status);
$scope.resetForm();
});
$scope.resetForm();
});
}, 1);
};
@ -299,7 +310,6 @@ angular.module('copayApp.controllers').controller('SendController',
};
$scope.openScanner = function() {
if (window.cordova) return $scope.scannerIntent();
$scope.showScanner = true;
// Wait a moment until the canvas shows
@ -324,31 +334,6 @@ angular.module('copayApp.controllers').controller('SendController',
}, 500);
};
$scope.scannerIntent = function() {
window.ignoreMobilePause = true;
cordova.plugins.barcodeScanner.scan(
function onSuccess(result) {
$timeout(function() {
window.ignoreMobilePause = false;
}, 100);
if (result.cancelled) return;
$timeout(function() {
var data = result.text;
$scope.$apply(function() {
$scope.sendForm.address.$setViewValue(result.text);
$scope.sendForm.address.$render();
});
}, 1000);
},
function onError(error) {
$timeout(function() {
window.ignoreMobilePause = false;
}, 100);
alert('Scanning error');
});
}
$scope.setTopAmount = function() {
var w = $rootScope.wallet;
var form = $scope.sendForm;

View file

@ -1,8 +1,9 @@
'use strict';
angular.module('copayApp.controllers').controller('SidebarController', function($scope, $rootScope, $location, $timeout, identityService, isMobile, go) {
angular.module('copayApp.controllers').controller('SidebarController', function($scope, $rootScope, $location, $timeout, identityService, isMobile, isCordova, go) {
$scope.isMobile = isMobile.any()
$scope.isMobile = isMobile.any();
$scope.isCordova = isCordova;
$scope.menu = [{
'title': 'Home',
@ -46,6 +47,32 @@ angular.module('copayApp.controllers').controller('SidebarController', function(
$scope.setWallets();
};
$scope.openScanner = function() {
window.ignoreMobilePause = true;
cordova.plugins.barcodeScanner.scan(
function onSuccess(result) {
$timeout(function() {
window.ignoreMobilePause = false;
}, 100);
if (result.cancelled) return;
$timeout(function() {
var data = result.text;
$scope.$apply(function() {
$rootScope.$emit('dataScanned', data);
});
}, 1000);
},
function onError(error) {
$timeout(function() {
window.ignoreMobilePause = false;
}, 100);
alert('Scanning error');
}
);
go.send();
};
$scope.init = function() {
// This should be called only once.

View file

@ -1,16 +1,22 @@
<div class="small-12 columns add-wallet">
<a class="button-setup db oh" title="Create new wallet" ng-click="$root.go('create')">
<i class="fi-plus"></i>
<span>Create new wallet</span>
</a>
<a class="button-setup db oh" title="Join shared wallet" ng-click="$root.go('join')">
<i class="icon-people"></i>
<span>Join shared wallet</span>
</a>
<a class="button-setup db oh" title="Import wallet" ng-click="$root.go('import')">
<i class="icon-upload"></i>
<span>Import wallet</span>
</a>
</div>
<div class="row manage text-center">
<h1 class="show-for-large-up text-left columns">Add Wallet</h1>
<div class="large-4 small-12 columns">
<a class="db oh panel" title="Create new wallet" ng-click="$root.go('create')">
<i class="fi-plus"></i>
<span>Create new wallet</span>
</a>
</div>
<div class="large-4 small-12 columns">
<a class="db oh panel join" title="Join shared wallet" ng-click="$root.go('join')">
<i class="icon-people"></i>
<span>Join shared wallet</span>
</a>
</div>
<div class="large-4 small-12 columns">
<a class="db oh panel import" title="Import wallet" ng-click="$root.go('import')">
<i class="icon-upload"></i>
<span>Import wallet</span>
</a>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div ng-controller="CopayersController" ng-init="init()">
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<h1 class="hide-for-large-up size-18">{{$root.title}}</h1>
<h1>Share this secret with your copayers</h1>
</div>
</div>
@ -50,4 +50,5 @@
</div>
<!-- end of row -->
</div>
<div class="extra-margin-bottom"></div>

View file

@ -87,3 +87,4 @@
</form>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -241,4 +241,5 @@
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -8,4 +8,4 @@
<h3 translate class="text-center" ng-class="{'text-white': !$root.wallet}">Page not found</h3>
<p class="text-center"><a href="#!/">&laquo; <span translate>Back</span></a></p>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div class="transactions" data-ng-controller="HistoryController" data-ng-init="update()">
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<h1 class="show-for-large-up">{{$root.title}}</h1>
<div ng-if="loading && !blockchain_txs[0].txid" class="m20b">
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
<span translate>Loading...</span>
@ -47,7 +47,7 @@
</div>
</div>
</div>
<div class="m50b" ng-show="blockchain_txs[0].txid">
<div class="m10b" ng-show="blockchain_txs[0].txid">
<div class="row">
<div class="large-9 columns">
<pagination page="currentPage" total-items="totalItems" items-per-page="itemsPerPage" on-select-page="selectPage(page)" max-size="10" />
@ -67,3 +67,4 @@
</div>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -36,7 +36,7 @@
<div class="large-4 large-centered medium-6 medium-centered columns" ng-show="!$root.starting && !showDisclaimer">
<div class="logo-setup" ng-show="!$root.iden && !hideForWP">
<img src="img/logo-negative-beta.svg" alt="Cop ay" width="100">
<img src="img/logo-negative-beta.svg" alt="Copay" width="100">
<div ng-include="'views/includes/version.html'"></div>
</div>

View file

@ -1,6 +1,6 @@
<div class="home-wallet" ng-controller="HomeWalletController" ng-init="initHome()">
<div class="row hide-for-large-up">
<div class="medium-12 small-12 columns">
<div class="home-wallet" ng-controller="HomeWalletController">
<div class="row show-for-large-up">
<div class="large-12 columns">
<h1 translate>Home</h1>
</div>
</div>
@ -12,7 +12,9 @@
<div class="large-8 medium-6 small-12 columns">
<div class="ellipsis oh">
<div class="avatar-wallet left">{{$root.wallet.getName() | limitTo: 1}}</div>
<h2 class="m10t left">{{$root.wallet.getName()}}</h2>
<h2 class="m10t left">
{{$root.wallet.getName()}}
</h2>
</div>
</div>
<div class="large-4 medium-6 small-12 columns">
@ -36,7 +38,7 @@
<div class="row ">
<div class="large-12 columns line-t m10t">
<div class="right size-12">
<div class="text-right size-12">
<span ng-if="!$root.wallet.isShared()">Personal Wallet</span>
<span ng-if="$root.wallet.isShared()">
Multisignature wallet [{{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]
@ -73,7 +75,7 @@
</div>
</div>
<div class="row m50b" ng-if="$root.wallet.isShared()">
<div class="row" ng-if="$root.wallet.isShared()">
<!-- List of copayers -->
<div class="large-12 columns">
<div class="panel oh">
@ -82,4 +84,11 @@
</div>
</div>
</div>
<div class="row" ng-show="isMobile">
<div class="large-12 columns text-right size-12">
<a ng-click="$root.go('more')"><i class="fi-widget"></i> Settings</a>
</div>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -97,3 +97,4 @@
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,6 +1,10 @@
<div class="title">
<h1>
{{$root.title}}
<div class="founds" ng-if="$root.wallet.isComplete()">
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<div ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
<small class="db text-light">Balance:</small>
<b class="m5r">{{$root.wallet.balanceInfo.totalBalance || 0}} {{$root.wallet.settings.unitName}}</b>
<span ng-if="$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency gray">{{$root.wallet.balanceInfo.totalBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}</span>
<span ng-if="!$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency gray">N/A</span>
<small ng-if="$root.wallet">
<a class="text-gray" ng-click="refresh()" ng-if="$root.wallet.isComplete() && !$root.updatingBalance">
<i class="fi-refresh"></i>
@ -9,11 +13,9 @@
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
</span>
</small>
</h1>
</div>
</div>
<div class="menu" ng-mouseover="hoverIn()" ng-mouseleave="hoverOut()" ng-init="init()" ng-click="hoverMenu = !hoverMenu">
<a class="dropdown ellipsis text-gray pr" ng-class="{'hover': hoverMenu}">
<div class="photo-container">
@ -27,13 +29,6 @@
</a>
<ul ng-show="hoverMenu" class="size-16 text-gray" ng-class="{'hover': hoverMenu}">
<li>
<a href="#!/create" title="Create new wallet">
<i class="fi-plus size-18 m10r"></i> {{'Create new wallet'|translate}}</a></li>
<li><a href="#!/join" title="Join shared wallet">
<i class="icon-people size-18 m10r"></i> {{'Join shared wallet'|translate}}</a></li>
<li><a href="#!/import" title="Import wallet">
<i class="icon-download size-18 m10r"></i> {{'Import wallet'|translate}}</a></li>
<li class="divider"></li>
<li><a href="#!/profile" title="Profile">
<i class="icon-person size-18 m10r"></i> {{'My Profile'|translate}}<span class="size-10 text-warning" ng-if="!$root.needsEmailConfirmation && $root.iden.backupNeeded"> [ Needs Backup ]</span></a>
</li>

View file

@ -1,14 +1,11 @@
<header ng-click="$root.go('profile')">
<div class="photo-container left">
<img gravatar-src="'{{$root.iden.getName()}}'" gravatar-size="35">
<header ng-click="$root.go('profile')" class="text-center">
<div class="photo-container">
<img gravatar-src="'{{$root.iden.getName()}}'" gravatar-size="45">
</div>
<div class="col2 m5t">
<div class="text-white ellipsis">{{$root.iden.getName()}}</div>
<div class="m5t">
<div class="text-white text-bold ellipsis size-14">{{$root.iden.getName()}}</div>
<div class="text-gray size-10"> {{'View My Profile' | translate }} </div>
</div>
<div class="right">
<i class="icon-arrow-right3 size-16 db m15t text-white"></i>
</div>
</header>
<div class="scroll-section">
<ul class="sidebar-mobile-wallets oh off-canvas-list m10b" ng-show="wallets[0]">
@ -21,19 +18,8 @@
</div>
<div class="col2">
<a class="size-12 wallet-item">
<div class="oh">
<div class="right size-10 text-gray">
[ {{item.requiredCopayers}} of {{item.totalCopayers}} ]</div>
<div class="ellipsis name-wallet text-black">{{item.name || item.id}}</div>
</div>
<div class="oh text-bold">
<span ng-if="item.isComplete() && item.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<div ng-if="item.isComplete() && !item.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
<b class="m5r size-12">{{item.balanceInfo.totalBalance || 0}} {{item.settings.unitName}}</b>
<span class="alt-currency gray size-10">{{item.balanceInfo.totalBalanceAlternative}} {{item.balanceInfo.alternativeIsoCode}}</span>
</div>
<span ng-if="!item.isComplete()">Waiting for copayers...</span>
</div>
<div class="ellipsis name-wallet text-black">{{item.name || item.id}}</div>
<div class="size-12"> {{item.requiredCopayers}} of {{item.totalCopayers}} </div>
</a>
</div>
</li>
@ -54,7 +40,7 @@
<div class="col1">
<i class="fi-power size-21"></i>
</div>
<div class="col2 m5t">
<div class="col2 m5t m15b">
<span class="tu text-bold">Close</span> <br>
</div>
</div>

View file

@ -5,21 +5,10 @@
</div>
<div class="col2" ng-class="{'col2_full':!wallets.length}">
<div class="oh m5t m10r">
<div class="right size-10">[ {{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} ]</div>
<div class="name-wallet">
<div class="ellipsis">{{$root.wallet.getName()}}</div>
</div>
</div>
<div class="founds size-12">
<span ng-if="!$root.wallet.isComplete()">Waiting for copayers...</span>
<div ng-if="$root.wallet.isComplete()">
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<div ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
<b class="m5r">{{$root.wallet.balanceInfo.totalBalance || 0}} {{$root.wallet.settings.unitName}}</b>
<span ng-if="$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency">{{$root.wallet.balanceInfo.totalBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}</span>
<span ng-if="!$root.wallet.balanceInfo.alternativeBalanceAvailable" class="alt-currency">N/A</span>
</div>
</div>
<div class="size-12"> {{$root.wallet.requiredCopayers}} of {{$root.wallet.totalCopayers}} </div>
</div>
</div>
<div class="col3" ng-if="wallets.length > 1">
@ -34,17 +23,6 @@
</a>
</div>
</header>
<div class="locked" ng-show="$root.wallet.balanceInfo.lockedBalance && !walletSelection">
<span class="text-gray">
{{'Locked'|translate}} &nbsp;
</span>
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<span ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance" class="text-gray">
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
- {{$root.wallet.balanceInfo.lockedBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}
</span>
</div>
<div>
<ul class="side-nav wallets" ng-class="{'pullDown': walletSelection}" ng-show="wallets[0]">
@ -58,21 +36,22 @@
</div>
<div class="col2">
<a href class="size-12 wallet-item">
<div class="oh">
<div class="right size-10 type-wallet">[ {{item.requiredCopayers}} of {{item.totalCopayers}} ]</div>
<div class="ellipsis name-wallet">{{item.name || item.id}}</div>
</div>
<div class="oh">
<span ng-if="item.isComplete() && item.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<div ng-if="item.isComplete() && !item.balanceInfo.updatingBalance" data-options="disable_for_touch:true">
<b class="m5r size-12">{{item.balanceInfo.totalBalance || 0}} {{item.settings.unitName}}</b>
<span class="alt-currency size-10">{{item.balanceInfo.totalBalanceAlternative}} {{item.balanceInfo.alternativeIsoCode}}</span>
</div>
<span ng-if="!item.isComplete()">Waiting for copayers...</span>
</div>
<span class="ellipsis name-wallet">{{item.name || item.id}}</span>
<span class="size-12 type-wallet"> {{item.requiredCopayers}} of {{item.totalCopayers}} </span>
</a>
</div>
</li>
<li class="nav-item">
<div class="buttons-sidebar" title="Add wallet" ng-click="$root.go('add')">
<div class="col1">
<i class="fi-plus size-21"></i>
</div>
<div class="col2">
<span class="tu text-bold">Add wallet</span> <br>
<span class="text-light">Create, join or import</span>
</div>
</div>
</li>
</ul>
</div>

View file

@ -76,4 +76,5 @@
<!-- End !loading -->
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,5 +1,5 @@
<div class="backup" ng-controller="MoreController">
<div class="row hide-for-large-up">
<div class="row show-for-large-up">
<div class="large-12 medium-12 small-12 columns">
<h1>{{$root.title}}</h1>
</div>
@ -102,3 +102,4 @@
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,9 +1,4 @@
<div class="backup" ng-controller="ProfileController" ng-init="init()">
<div class="row hide-for-large-up">
<div class="large-12 medium-12 small-12 columns">
<h1>{{$root.title}}</h1>
</div>
</div>
<div class="row">
<div class="large-12 columns">
<div class="panel">
@ -108,7 +103,7 @@
<div class="line-dashed-h m20b"></div>
<div class="m50b row oh">
<div class="row oh">
<div class="large-12 columns">
<a class="small left button-setup" ng-click="hideAdv=!hideAdv">
<i class="fi-widget m3r"></i>
@ -121,7 +116,7 @@
</div>
</div>
<div ng-hide="hideAdv" class="row m50b">
<div ng-hide="hideAdv" class="row">
<div class="large-12 columns">
<div class="panel">
<h2><i class="fi-minus-circle m10r"></i>
@ -147,3 +142,4 @@
</div>
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,7 +1,7 @@
<div class="addresses" ng-controller="ReceiveController" ng-init="init()">
<div class="row">
<div class="large-12 medium-12 small-12 columns">
<h1 class="hide-for-large-up">{{$root.title}}</h1>
<h1 class="show-for-large-up">{{$root.title}}</h1>
</div>
</div>
@ -22,7 +22,7 @@
</div>
</div>
</div>
<div class="row m50b">
<div class="row">
<div class="large-12 columns" ng-if="showAll">
<div ng-repeat="addr in addresses" ng-click="openAddressModal(addr)" class="pointer">
<div class="panel">
@ -64,3 +64,4 @@
</div>
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,17 +1,8 @@
<div class="send" ng-controller="SendController" ng-init="init()">
<div class="row hide-for-large-up" ng-hide="$root.wpInputFocused" >
<div class="large-10 medium-10 small-9 columns">
<div class="row show-for-large-up">
<div class="large-8 large-centered columns">
<h1>{{$root.title}}</h1>
</div>
<div class="large-2 medium-2 small-3 columns" ng-show="!lockAddress && !_merchantData">
<div ng-hide="showScanner || disableScanner">
<a class="button right m10b radius tiny black" ng-click="openScanner()"><i class="fi-camera size-18"></i></a>
</div>
<div ng-show="showScanner">
<a translate class="button right radius tiny m10b warning" ng-click="cancelScanner()"><i class="fi-x size-18"></i></a>
</div>
</div>
</div>
<div class="row" ng-show="fetchingURL">
@ -28,25 +19,25 @@
</div>
</div>
</div>
<div class="row" ng-show="creatingTX">
<div class="large-12 columns">
<div class="panel">
<div class="box-notification">
<div class="box-icon secondary">
<i class="fi-bitcoin-circle icon-rotate spinner size-24"></i>
</div>
<span class="text-secondary size-14">
Creating Transaction...
</span>
</div>
</div>
</div>
<div class="row" ng-show="creatingTX">
<div class="large-12 columns">
<div class="panel">
<div class="box-notification">
<div class="box-icon secondary">
<i class="fi-bitcoin-circle icon-rotate spinner size-24"></i>
</div>
<span class="text-secondary size-14">
Creating Transaction...
</span>
</div>
</div>
</div>
</div>
<div class="row" ng-show="!fetchingURL && !creatingTX">
<div class="large-8 large-centered columns">
<div class="large-8 large-centered columns">
<form name="sendForm" ng-submit="submitForm(sendForm)" novalidate>
<div class="panel">
<div class="box-notification" ng-show="error && !hideForWP ">
@ -173,8 +164,20 @@
</div>
</div>
</form>
<div class="locked m10b" ng-show="$root.wallet.balanceInfo.lockedBalance && !walletSelection">
<i class="fi-lock"></i>
<span>
{{'Locked'|translate}} &nbsp;
</span>
<span ng-if="$root.wallet.balanceInfo.updatingBalance"><i class="fi-bitcoin-circle icon-rotate spinner"></i></span>
<span ng-if="$root.wallet && !$root.wallet.balanceInfo.updatingBalance">
<b>{{$root.wallet.balanceInfo.lockedBalance}} {{$root.wallet.settings.unitName}} </b>
- {{$root.wallet.balanceInfo.lockedBalanceAlternative}} {{$root.wallet.balanceInfo.alternativeIsoCode}}
</span>
</div>
</div>
</div>
<!-- end of row -->
</div>
<div class="extra-margin-bottom"></div>

View file

@ -1,4 +1,5 @@
<div class="settings" ng-controller="SettingsController">
<h1 class="hide-for-small-only">{{$root.title}}</h1>
<div class="large-4 large-centered medium-6 medium-centered columns">
<div class="logo-setup show-for-large-up" id="top">
<img src="img/logo-negative-beta.svg" alt="Copay" width="100">