mirror of https://github.com/BTCPrivate/copay.git
Split signin.html in home, join and open files. Signin process with responsive support
This commit is contained in:
parent
f4d4f819de
commit
9875e9d643
41
css/main.css
41
css/main.css
|
@ -52,6 +52,22 @@
|
|||
}
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
color: #7A8C9E;
|
||||
}
|
||||
|
||||
:-moz-placeholder { /* Firefox 18- */
|
||||
color: #7A8C9E;
|
||||
}
|
||||
|
||||
::-moz-placeholder { /* Firefox 19+ */
|
||||
color: #7A8C9E;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
color: #7A8C9E;
|
||||
}
|
||||
|
||||
#qr-canvas { display: none; }
|
||||
#qrcode-scanner-video {
|
||||
display: block;
|
||||
|
@ -93,12 +109,13 @@ a {
|
|||
color: #3498DB;
|
||||
}
|
||||
|
||||
|
||||
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, input:-webkit-autofill:focus, textarea:-webkit-autofill:focus, select:-webkit-autofill:focus {
|
||||
-webkit-box-shadow: 0 0 0px 1000px white inset;
|
||||
}
|
||||
|
||||
.signin label, .setup label {
|
||||
.join label,
|
||||
.open label,
|
||||
.setup label {
|
||||
font-size: 0.875rem;
|
||||
color: #fff;
|
||||
font-weight: 100;
|
||||
|
@ -108,7 +125,8 @@ a:hover {
|
|||
color: #2980b9;
|
||||
}
|
||||
|
||||
.signin input,
|
||||
.open input,
|
||||
.join input,
|
||||
.setup input,
|
||||
.import input,
|
||||
.settings input {
|
||||
|
@ -119,7 +137,8 @@ a:hover {
|
|||
color: #7A8C9E !important;
|
||||
}
|
||||
|
||||
.signin select,
|
||||
.open select,
|
||||
.join select,
|
||||
.setup select,
|
||||
.import select,
|
||||
.settings select {
|
||||
|
@ -194,7 +213,7 @@ a:hover {
|
|||
background-color: #F8F8FB;
|
||||
}
|
||||
|
||||
.signin, .setup, .import, .settings {
|
||||
.home, .open, .join, .waiting-copayers, .setup, .import, .settings {
|
||||
margin-top: 15%;
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -218,9 +237,8 @@ a:hover {
|
|||
}
|
||||
|
||||
.logo-setup {
|
||||
position: absolute;
|
||||
top: 45%;
|
||||
left: 8%;
|
||||
text-align: center;
|
||||
margin-top: 9%;
|
||||
}
|
||||
|
||||
.box-setup {
|
||||
|
@ -306,9 +324,9 @@ a:hover {
|
|||
display: block;
|
||||
padding: 20px 30px;
|
||||
background: #34495E;
|
||||
color: #fff;
|
||||
margin-bottom: 20px;
|
||||
font-weight: 100;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.button-setup a:hover {
|
||||
|
@ -379,7 +397,6 @@ a:hover {
|
|||
|
||||
.line-dashed-setup-v {
|
||||
border-left: 1px dashed #415970;
|
||||
padding-left: 3rem;
|
||||
}
|
||||
|
||||
.line-dashed-v {
|
||||
|
@ -895,7 +912,7 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
|
|||
border-color: red;
|
||||
}
|
||||
|
||||
.copayers h3, .copayers h4 {
|
||||
.copayers h3, .copayers h4, .waiting-copayers h4 {
|
||||
color: #fff;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
@ -916,7 +933,7 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
|
|||
}
|
||||
|
||||
.text-light {font-weight: 100;}
|
||||
.text-gray {color: #8597A7 !important;}
|
||||
.text-gray {color: #8597A7;}
|
||||
.text-primary {color: #1ABC9C;}
|
||||
.text-secondary {color: #3498DB;}
|
||||
.text-white {color: #fff;}
|
||||
|
|
|
@ -4,4 +4,20 @@
|
|||
*
|
||||
*/
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
|
||||
.line-dashed-setup-v,
|
||||
.line-dashed-v,
|
||||
.line-dashed-h {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.logo-setup {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.home, .open, .join, .waiting-copayers, .setup, .import, .settings {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -66,13 +66,15 @@
|
|||
<script src="js/services/isMobile.js"></script>
|
||||
<script src="js/services/uriHandler.js"></script>
|
||||
|
||||
<script src="js/controllers/home.js"></script>
|
||||
<script src="js/controllers/open.js"></script>
|
||||
<script src="js/controllers/join.js"></script>
|
||||
<script src="js/controllers/video.js"></script>
|
||||
<script src="js/controllers/sidebar.js"></script>
|
||||
<script src="js/controllers/addresses.js"></script>
|
||||
<script src="js/controllers/transactions.js"></script>
|
||||
<script src="js/controllers/send.js"></script>
|
||||
<script src="js/controllers/backup.js"></script>
|
||||
<script src="js/controllers/signin.js"></script>
|
||||
<script src="js/controllers/setup.js"></script>
|
||||
<script src="js/controllers/import.js"></script>
|
||||
<script src="js/controllers/settings.js"></script>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('HomeController',
|
||||
function($scope, $rootScope, walletFactory, notification) {
|
||||
$scope.loading = false;
|
||||
if ($rootScope.pendingPayment) {
|
||||
notification.info('Login Required', 'Please open wallet to complete payment');
|
||||
}
|
||||
$scope.hasWallets = walletFactory.getWallets().length > 0 ? true : false;
|
||||
});
|
|
@ -0,0 +1,37 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('JoinController',
|
||||
function($scope, $rootScope, walletFactory, controllerUtils, Passphrase, notification) {
|
||||
$scope.loading = false;
|
||||
|
||||
$scope.join = function(form) {
|
||||
if (form && form.$invalid) {
|
||||
notification.error('Error', 'Please enter the required fields');
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.loading = true;
|
||||
walletFactory.network.on('badSecret', function() {});
|
||||
|
||||
Passphrase.getBase64Async($scope.joinPassword, function(passphrase) {
|
||||
walletFactory.joinCreateSession($scope.connectionId, $scope.nickname, passphrase, function(err, w) {
|
||||
$scope.loading = false;
|
||||
if (err || !w) {
|
||||
if (err === 'joinError')
|
||||
notification.error('Can\'t find peer.');
|
||||
else if (err === 'walletFull')
|
||||
notification.error('The wallet is full');
|
||||
else if (err === 'badNetwork')
|
||||
notification.error('Network Error', 'The wallet your are trying to join uses a different Bitcoin Network. Check your settings.');
|
||||
else if (err === 'badSecret')
|
||||
notification.error('Bad secret', 'The secret string you entered is invalid');
|
||||
else
|
||||
notification.error('Unknown error');
|
||||
controllerUtils.onErrorDigest();
|
||||
} else {
|
||||
controllerUtils.startNetwork(w, $scope);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
|
@ -0,0 +1,43 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('OpenController',
|
||||
function($scope, $rootScope, walletFactory, controllerUtils, Passphrase, notification) {
|
||||
var cmp = function(o1, o2) {
|
||||
var v1 = o1.show.toLowerCase(),
|
||||
v2 = o2.show.toLowerCase();
|
||||
return v1 > v2 ? 1 : (v1 < v2) ? -1 : 0;
|
||||
};
|
||||
$scope.loading = false;
|
||||
$scope.wallets = walletFactory.getWallets().sort(cmp);
|
||||
$scope.selectedWalletId = $scope.wallets.length ? $scope.wallets[0].id : null;
|
||||
$scope.openPassword = '';
|
||||
|
||||
$scope.open = function(form) {
|
||||
if (form && form.$invalid) {
|
||||
notification.error('Error', 'Please enter the required fields');
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.loading = true;
|
||||
var password = form.openPassword.$modelValue;
|
||||
|
||||
Passphrase.getBase64Async(password, function(passphrase) {
|
||||
var w, errMsg;
|
||||
try {
|
||||
var w = walletFactory.open($scope.selectedWalletId, {
|
||||
passphrase: passphrase
|
||||
});
|
||||
} catch (e) {
|
||||
errMsg = e.message;
|
||||
};
|
||||
if (!w) {
|
||||
$scope.loading = false;
|
||||
notification.error('Error', errMsg || 'Wrong password');
|
||||
$rootScope.$digest();
|
||||
return;
|
||||
}
|
||||
controllerUtils.startNetwork(w, $scope);
|
||||
});
|
||||
};
|
||||
|
||||
});
|
|
@ -74,7 +74,7 @@ angular.module('copayApp.controllers').controller('SettingsController',
|
|||
unitToSatoshi: $scope.selectedUnit.value,
|
||||
}));
|
||||
|
||||
var target = ($window.location.origin !== 'null' ? $window.location.origin : '') + '/signin';
|
||||
var target = ($window.location.origin !== 'null' ? $window.location.origin : '');
|
||||
|
||||
$window.location.href = target;
|
||||
};
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('SigninController',
|
||||
function($scope, $rootScope, $location, walletFactory, controllerUtils, Passphrase, backupService, notification) {
|
||||
var cmp = function(o1, o2) {
|
||||
var v1 = o1.show.toLowerCase(),
|
||||
v2 = o2.show.toLowerCase();
|
||||
return v1 > v2 ? 1 : (v1 < v2) ? -1 : 0;
|
||||
};
|
||||
$rootScope.videoInfo = {};
|
||||
$scope.loading = false;
|
||||
$scope.wallets = walletFactory.getWallets().sort(cmp);
|
||||
$scope.selectedWalletId = $scope.wallets.length ? $scope.wallets[0].id : null;
|
||||
$scope.openPassword = '';
|
||||
|
||||
if ($rootScope.pendingPayment) {
|
||||
notification.info('Login Required', 'Please open wallet to complete payment');
|
||||
}
|
||||
|
||||
$scope.open = function(form) {
|
||||
if (form && form.$invalid) {
|
||||
notification.error('Error', 'Please enter the required fields');
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.loading = true;
|
||||
var password = form.openPassword.$modelValue;
|
||||
|
||||
Passphrase.getBase64Async(password, function(passphrase) {
|
||||
var w, errMsg;
|
||||
try {
|
||||
var w = walletFactory.open($scope.selectedWalletId, {
|
||||
passphrase: passphrase
|
||||
});
|
||||
} catch (e) {
|
||||
errMsg = e.message;
|
||||
};
|
||||
if (!w) {
|
||||
$scope.loading = false;
|
||||
notification.error('Error', errMsg || 'Wrong password');
|
||||
$rootScope.$digest();
|
||||
return;
|
||||
}
|
||||
controllerUtils.startNetwork(w, $scope);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.join = function(form) {
|
||||
if (form && form.$invalid) {
|
||||
notification.error('Error', 'Please enter the required fields');
|
||||
return;
|
||||
}
|
||||
|
||||
$scope.loading = true;
|
||||
walletFactory.network.on('badSecret', function() {});
|
||||
|
||||
Passphrase.getBase64Async($scope.joinPassword, function(passphrase) {
|
||||
walletFactory.joinCreateSession($scope.connectionId, $scope.nickname, passphrase, function(err, w) {
|
||||
$scope.loading = false;
|
||||
if (err || !w) {
|
||||
if (err === 'joinError')
|
||||
notification.error('Can\'t find peer.');
|
||||
else if (err === 'walletFull')
|
||||
notification.error('The wallet is full');
|
||||
else if (err === 'badNetwork')
|
||||
notification.error('Network Error', 'The wallet your are trying to join uses a different Bitcoin Network. Check your settings.');
|
||||
else if (err === 'badSecret')
|
||||
notification.error('Bad secret', 'The secret string you entered is invalid');
|
||||
else
|
||||
notification.error('Unknown error');
|
||||
controllerUtils.onErrorDigest();
|
||||
} else {
|
||||
controllerUtils.startNetwork(w, $scope);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$scope.isHome = 1;
|
||||
$scope.isJoin = 0;
|
||||
$scope.isOpen = 0;
|
||||
|
||||
$scope.backWallet = function() {
|
||||
$scope.isHome = 1;
|
||||
$scope.isJoin = 0;
|
||||
$scope.isOpen = 0;
|
||||
};
|
||||
|
||||
$scope.openWallet = function() {
|
||||
$scope.isHome = 0;
|
||||
$scope.isJoin = 0;
|
||||
$scope.isOpen = 1;
|
||||
};
|
||||
|
||||
$scope.joinWallet = function() {
|
||||
$scope.isHome = 0;
|
||||
$scope.isOpen = 0;
|
||||
$scope.isJoin = 1;
|
||||
};
|
||||
});
|
|
@ -10,7 +10,7 @@ angular.module('copayApp.controllers').controller('UriPaymentController', functi
|
|||
$scope.message = $rootScope.pendingPayment.message;
|
||||
|
||||
$timeout(function() {
|
||||
$location.path('signin');
|
||||
$location.path('/');
|
||||
}, 1000);
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
angular.module('copayApp.controllers').controller('VideoController',
|
||||
function($scope, $rootScope, $sce) {
|
||||
|
||||
$rootScope.videoInfo = {};
|
||||
|
||||
// Cached list of copayers
|
||||
$scope.copayers = $rootScope.wallet.getRegisteredPeerIds();
|
||||
|
||||
|
|
12
js/routes.js
12
js/routes.js
|
@ -7,11 +7,15 @@ angular
|
|||
|
||||
$routeProvider
|
||||
.when('/', {
|
||||
templateUrl: 'views/signin.html',
|
||||
templateUrl: 'views/home.html',
|
||||
validate: false
|
||||
})
|
||||
.when('/signin', {
|
||||
templateUrl: 'views/signin.html',
|
||||
.when('/open', {
|
||||
templateUrl: 'views/open.html',
|
||||
validate: false
|
||||
})
|
||||
.when('/join', {
|
||||
templateUrl: 'views/join.html',
|
||||
validate: false
|
||||
})
|
||||
.when('/import', {
|
||||
|
@ -68,7 +72,7 @@ angular
|
|||
$location.path('unsupported');
|
||||
} else {
|
||||
if ((!$rootScope.wallet || !$rootScope.wallet.id) && next.validate) {
|
||||
$location.path('signin');
|
||||
$location.path('/');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -27,7 +27,7 @@ angular.module('copayApp.services')
|
|||
}
|
||||
}
|
||||
|
||||
$location.path('signin');
|
||||
$location.path('/');
|
||||
};
|
||||
|
||||
root.onError = function(scope) {
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<div class="home" ng-controller="HomeController">
|
||||
<div class="row">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
<div class="button-setup" ng-show="hasWallets">
|
||||
<a class="text-white" href="/open">Open a wallet</a>
|
||||
</div>
|
||||
<div class="button-setup" ng-show="!hasWallets">
|
||||
<a class="text-secondary" href="/setup">Create a new wallet</a>
|
||||
</div>
|
||||
<div class="button-setup">
|
||||
<a class="text-primary" href="/join">Join a Wallet in Creation</a>
|
||||
</div>
|
||||
<div class="button-setup" ng-show="hasWallets">
|
||||
<a class="text-secondary" href="/setup">Create a wallet</a>
|
||||
</div>
|
||||
|
||||
<div class="footer-setup">
|
||||
<a class="right size-12 text-gray" href="/settings"><i class="m10r size-14 fi-wrench"></i>Settings</a>
|
||||
<a class="left size-12 text-gray" href="/import"><i class="m10r size-14 fi-upload"></i>Import a backup</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
<div ng-controller="ImportController">
|
||||
<div class="import" ng-controller="ImportController">
|
||||
<div data-alert class="loading-screen" ng-show="loading">
|
||||
<i class="size-60 fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
{{ importStatus }}
|
||||
</div>
|
||||
<div class="row import" ng-init="choosefile=0; pastetext=0" ng-show="!loading">
|
||||
<div class="large-4 columns logo-setup text-center">
|
||||
<div class="row" ng-init="choosefile=0; pastetext=0" ng-show="!loading">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
|
@ -20,7 +20,7 @@
|
|||
<input type="password" class="form-control" placeholder="Your wallet password" name="password" ng-model="password" required>
|
||||
|
||||
<div class="text-right">
|
||||
<a class="back-button text-white m20r" href="/signin">« Back</a>
|
||||
<a class="back-button text-white m20r" href="/">« Back</a>
|
||||
<button type="submit" class="button primary m0" ng-disabled="importForm.$invalid" loading="Importing">
|
||||
Import backup
|
||||
</button>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div ng-controller="BackupController" ng-if='$root.wallet && !$root.wallet.isReady() && !loading'>
|
||||
<div class="row signin">
|
||||
<div class="large-4 columns logo-setup text-center">
|
||||
<div class="waiting-copayers" ng-controller="BackupController" ng-if='$root.wallet && !$root.wallet.isReady() && !loading'>
|
||||
<div class="row">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
|
@ -9,7 +9,8 @@
|
|||
<h1 class="text-primary line-sidebar-b">Waiting copayers</h1>
|
||||
<h3>Share this secret with your other copayers</h3>
|
||||
<div class="panel">
|
||||
<p class="ellipsis text-gray size-14">{{$root.wallet.getSecret()}}</p>
|
||||
<div class="ellipsis text-gray
|
||||
size-14">{{$root.wallet.getSecret()}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<h1 class="text-white line-sidebar-b" ng-if="$root.wallet && $root.wallet.publicKeyRing.isComplete()">New Wallet Created </h1>
|
||||
|
@ -25,10 +26,10 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="large-8 columns text-left">
|
||||
<h3 ng-show="!$root.wallet.publicKeyRing.isComplete()">Waiting Copayers for {{$root.wallet.getName()}}</h3>
|
||||
<div class="large-10 columns text-left">
|
||||
<h4 ng-show="!$root.wallet.publicKeyRing.isComplete()">Waiting Copayers for {{$root.wallet.getName()}}</h4>
|
||||
</div>
|
||||
<div class="large-4 columns text-right">
|
||||
<div class="large-2 columns text-right">
|
||||
<small class="text-gray" ng-show="$root.wallet && !$root.wallet.publicKeyRing.isComplete()">
|
||||
{{$root.wallet.requiredCopayers}}-of-{{$root.wallet.totalCopayers}} wallet
|
||||
</small>
|
||||
|
@ -51,7 +52,7 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line-sidebar-b"></div>
|
||||
<div class="line-sidebar-b" ng-if="$root.wallet && $root.wallet.publicKeyRing.isComplete()"></div>
|
||||
<div class="text-gray m10t" ng-if="$root.wallet && $root.wallet.publicKeyRing.isComplete()">
|
||||
<i class="text-white fi-loop icon-rotate spinner"></i> Waiting for other
|
||||
copayers to make a Backup
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
width="70">
|
||||
|
||||
<div
|
||||
class="ellipsis"
|
||||
tooltip="ID: {{copayer.peerId}}"
|
||||
tooltip-placement="bottom">
|
||||
<small class="text-gray" ng-show="copayer.index == 0"><i class="fi-check m5r"></i>you</small>
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<div class="join" ng-controller="JoinController">
|
||||
<div data-alert class="loading-screen" ng-show="loading && !failure">
|
||||
<i class="size-60 fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
Authenticating and looking for peers...
|
||||
</div>
|
||||
<div class="row" ng-show="!loading">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
<div class="box-setup">
|
||||
<h1 class="text-primary line-sidebar-b">Join a Wallet in Creation</h1>
|
||||
<form name="joinForm" ng-submit="join(joinForm)" novalidate>
|
||||
<label for="connectionId"> Wallet Setting </label>
|
||||
<input id="connectionId" type="text" class="form-control" placeholder="Paste wallet secret here" name="connectionId" ng-model="connectionId" wallet-secret required>
|
||||
<label for="joinPassword"> User info</label>
|
||||
<input id="joinPassword" type="text" class="form-control" placeholder="Your name (optional)" name="nickname" ng-model="nickname">
|
||||
<input type="password" class="form-control"
|
||||
placeholder="Choose your password" name="joinPassword"
|
||||
ng-model="$parent.joinPassword"
|
||||
check-strength="passwordStrength"
|
||||
tooltip-html-unsafe="Password strength:
|
||||
<i>{{passwordStrength}}</i><br/><span class='size-12'>Tip: Use lower and uppercase,
|
||||
numbers and symbols</span>" tooltip-trigger="focus" required>
|
||||
|
||||
<input type="password"
|
||||
placeholder="Repeat password"
|
||||
name="joinPasswordConfirm"
|
||||
ng-model="joinPasswordConfirm"
|
||||
match="joinPassword" required>
|
||||
<div class="text-right">
|
||||
<a href="/" class="back-button text-primary m20r">« Back</a>
|
||||
<button type="submit" class="button primary m0" ng-disabled="joinForm.$invalid || loading" loading="Joining">Join</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End !loading -->
|
||||
</div>
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<div class="open" ng-controller="OpenController">
|
||||
<div data-alert class="loading-screen" ng-show="loading && !failure">
|
||||
<i class="size-60 fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
Authenticating and looking for peers...
|
||||
</div>
|
||||
<div class="row" ng-show="!loading">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
<div class="box-setup">
|
||||
<h1 class="text-white line-sidebar-b">Open Wallet</h1>
|
||||
<form name="openForm" ng-submit="open(openForm)" novalidate>
|
||||
<select class="form-control" ng-model="selectedWalletId" ng-options="w.id as w.show for w in wallets" required>
|
||||
</select>
|
||||
<input type="password" class="form-control" placeholder="Your password" name="openPassword" ng-model="openPassword" required>
|
||||
<div class="text-right">
|
||||
<a href="/" class="back-button text-white m20r">« Back</a>
|
||||
<button type="submit" class="button white m0" ng-disabled="openForm.$invalid || loading" loading="Opening">Open</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End !loading -->
|
||||
</div>
|
||||
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
<div class="row settings" ng-controller="SettingsController">
|
||||
<div class="large-4 columns logo-setup text-center">
|
||||
<div class="settings" ng-controller="SettingsController">
|
||||
<div class="row">
|
||||
<div class="large-4 columns logo-setup">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
|
@ -62,7 +63,7 @@
|
|||
</fieldset>
|
||||
|
||||
<div class="text-right">
|
||||
<a class="back-button text-white m20r" href="/signin" ng-hide="$root.wallet">« Back</a>
|
||||
<a class="back-button text-white m20r" href="/" ng-hide="$root.wallet">« Back</a>
|
||||
<button type="submit" class="button primary m0 ng-binding" ng-disabled="setupForm.$invalid || loading" disabled="disabled" ng-click="save()">
|
||||
Save
|
||||
</button>
|
||||
|
@ -71,4 +72,5 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<a ng-show="!isSetupWalletPage" class="back-button m20r" href="/signin">« Back</a>
|
||||
<a ng-show="!isSetupWalletPage" class="back-button m20r" href="/">« Back</a>
|
||||
<a ng-show="isSetupWalletPage" class="back-button m20r"
|
||||
ng-click="setupWallet()">« Back</a>
|
||||
<button ng-show="isSetupWalletPage" type="submit" class="button secondary m0" ng-disabled="setupForm.$invalid || loading">
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
<div ng-controller="SigninController">
|
||||
<div data-alert class="loading-screen" ng-show="loading && !failure">
|
||||
<i class="size-60 fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
Authenticating and looking for peers...
|
||||
</div>
|
||||
<div class="row signin" ng-show="!loading">
|
||||
<div class="large-4 columns logo-setup text-center">
|
||||
<img src="../img/logo-negative-beta.svg" alt="Copay">
|
||||
</div>
|
||||
<div class="large-8 columns line-dashed-setup-v">
|
||||
<div class="box-setup" ng-show="!isHome && isOpen">
|
||||
<h1 class="text-white line-sidebar-b">Open Wallet</h1>
|
||||
<form name="openForm" ng-submit="open(openForm)" novalidate>
|
||||
<select class="form-control" ng-model="selectedWalletId" ng-options="w.id as w.show for w in wallets" required>
|
||||
</select>
|
||||
<input type="password" class="form-control" placeholder="Your password" name="openPassword" ng-model="openPassword" required>
|
||||
<div class="text-right">
|
||||
<a class="back-button text-white m20r" ng-click="backWallet()">« Back</a>
|
||||
<button type="submit" class="button white m0" ng-disabled="openForm.$invalid || loading" loading="Opening">Open</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div ng-show="isHome && wallets.length">
|
||||
<div class="button-setup">
|
||||
<a ng-click="openWallet()">
|
||||
<h1 class="text-white">Open a wallet</h1>
|
||||
<p class="text-gray m0">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis, non.</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="isHome && !wallets.length">
|
||||
<div class="button-setup">
|
||||
<a href="/setup">
|
||||
<h1 class="text-secondary">Create a new wallet</h1>
|
||||
<p class="text-gray m0">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis, non.</p>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="!isHome && isJoin">
|
||||
<div class="box-setup">
|
||||
<h1 class="text-primary line-sidebar-b">Join a Wallet in Creation</h1>
|
||||
<form name="joinForm" ng-submit="join(joinForm)" novalidate>
|
||||
<label for="connectionId"> Wallet Setting </label>
|
||||
<input id="connectionId" type="text" class="form-control" placeholder="Paste wallet secret here" name="connectionId" ng-model="connectionId" wallet-secret required>
|
||||
<label for="joinPassword"> User info</label>
|
||||
<input id="joinPassword" type="text" class="form-control" placeholder="Your name (optional)" name="nickname" ng-model="nickname">
|
||||
<input type="password" class="form-control"
|
||||
placeholder="Choose your password" name="joinPassword"
|
||||
ng-model="$parent.joinPassword"
|
||||
check-strength="passwordStrength"
|
||||
tooltip-html-unsafe="Password strength:
|
||||
<i>{{passwordStrength}}</i><br/><span class='size-12'>Tip: Use lower and uppercase,
|
||||
numbers and symbols</span>" tooltip-trigger="focus" required>
|
||||
|
||||
<input type="password"
|
||||
placeholder="Repeat password"
|
||||
name="joinPasswordConfirm"
|
||||
ng-model="joinPasswordConfirm"
|
||||
match="joinPassword" required>
|
||||
<div class="text-right">
|
||||
<a class="back-button text-primary m20r" ng-click="backWallet()">« Back</a>
|
||||
<button type="submit" class="button primary m0" ng-disabled="joinForm.$invalid || loading" loading="Joining">Join</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="isHome && !isJoin">
|
||||
<div class="button-setup">
|
||||
<a ng-click="joinWallet()">
|
||||
<h1 class="text-primary">Join a Wallet in Creation</h1>
|
||||
<p class="text-gray m0">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis, non.</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="isHome && wallets.length">
|
||||
<div class="button-setup">
|
||||
<a href="/setup"><h1 class="text-secondary">Create a wallet</h1></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-setup" ng-show="isHome">
|
||||
<a class="right size-12 text-gray" href="/settings"><i class="m10r size-14 fi-wrench"></i>Settings</a>
|
||||
<a class="left size-12 text-gray" href="/import"><i class="m10r size-14 fi-upload"></i>Import a backup</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- End !loading -->
|
||||
</div>
|
||||
|
||||
|
Loading…
Reference in New Issue