Split signin.html in home, join and open files. Signin process with responsive support
This commit is contained in:
parent
f4d4f819de
commit
9875e9d643
21 changed files with 329 additions and 288 deletions
28
views/home.html
Normal file
28
views/home.html
Normal file
|
|
@ -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>
|
||||
|
|
|
|||
41
views/join.html
Normal file
41
views/join.html
Normal file
|
|
@ -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>
|
||||
|
||||
|
||||
27
views/open.html
Normal file
27
views/open.html
Normal file
|
|
@ -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,73 +1,75 @@
|
|||
<div class="row settings" ng-controller="SettingsController">
|
||||
<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">
|
||||
<h1 class="text-white line-sidebar-b">{{title}}</h1>
|
||||
<form name="settingsForm">
|
||||
<fieldset>
|
||||
<legend>Bitcoin Network</legend>
|
||||
<input id="network-name" type="checkbox" ng-model="networkName"
|
||||
ng-true-value="livenet" ng-false-value="testnet" class="form-control" ng-click="changeNetwork()"
|
||||
ng-disabled="forceNetwork"
|
||||
ng-checked="networkName == 'livenet' ? true : false">
|
||||
<label for="network-name">Livenet</label>
|
||||
<div ng-show="forceNetwork">
|
||||
Network has been fixed to
|
||||
<strong>{{networkName}}</strong> in this setup. See <a href="https://copay.io">copay.io</a>
|
||||
for options to use Copay on both livenet and testnet.
|
||||
<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">
|
||||
<div class="box-setup">
|
||||
<h1 class="text-white line-sidebar-b">{{title}}</h1>
|
||||
<form name="settingsForm">
|
||||
<fieldset>
|
||||
<legend>Bitcoin Network</legend>
|
||||
<input id="network-name" type="checkbox" ng-model="networkName"
|
||||
ng-true-value="livenet" ng-false-value="testnet" class="form-control" ng-click="changeNetwork()"
|
||||
ng-disabled="forceNetwork"
|
||||
ng-checked="networkName == 'livenet' ? true : false">
|
||||
<label for="network-name">Livenet</label>
|
||||
<div ng-show="forceNetwork">
|
||||
Network has been fixed to
|
||||
<strong>{{networkName}}</strong> in this setup. See <a href="https://copay.io">copay.io</a>
|
||||
for options to use Copay on both livenet and testnet.
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Wallet Unit</legend>
|
||||
<select class="form-control" ng-model="selectedUnit" ng-options="o.name for o in unitOpts" required>
|
||||
</select>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Videoconferencing</legend>
|
||||
<input id="disableVideo-opt" type="checkbox" ng-model="disableVideo" class="form-control">
|
||||
<label for="disableVideo-opt">Disable videoconferencing (for slow networks)</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Insight API server</legend>
|
||||
<label for="insight-host">Host</label>
|
||||
<input type="text" ng-model="insightHost" class="form-control" name="insight-host">
|
||||
<label for="insight-port">Port</label>
|
||||
<input type="number" ng-model="insightPort" class="form-control" name="insight-port">
|
||||
<input id="insight-secure" type="checkbox" ng-model="insightSecure" class="form-control" ng-click="changeInsightSSL()">
|
||||
<label for="insight-secure">Use SSL</label>
|
||||
|
||||
<p class="small">
|
||||
Insight API server is open-source software. You can run your own
|
||||
instance, check <a href="http://insight.is" target="_blank">Insight
|
||||
API Homepage</a></p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>PeerJS server</legend>
|
||||
<label for="peerjs-key">Key</label>
|
||||
<input type="text" ng-model="networkKey" class="form-control" name="peerjs-key">
|
||||
<label for="peerjs-host">Host</label>
|
||||
<input type="text" ng-model="networkHost" class="form-control" name="peerjs-host">
|
||||
<label for="peerjs-port">Port</label>
|
||||
<input type="number" ng-model="networkPort" class="form-control" name="peerjs-port">
|
||||
<input id="peerjs-secure" type="checkbox" ng-model="networkSecure" class="form-control">
|
||||
<label for="peerjs-secure">Use SSL</label>
|
||||
|
||||
<p class="small">
|
||||
PeerJS Server is open-source software. You can run your own instance, or use PeerJS Server cloud. Check <a href="http://peerjs.com" target="_blank">PeerJS Server</a>
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<div class="text-right">
|
||||
<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>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Wallet Unit</legend>
|
||||
<select class="form-control" ng-model="selectedUnit" ng-options="o.name for o in unitOpts" required>
|
||||
</select>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Videoconferencing</legend>
|
||||
<input id="disableVideo-opt" type="checkbox" ng-model="disableVideo" class="form-control">
|
||||
<label for="disableVideo-opt">Disable videoconferencing (for slow networks)</label>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Insight API server</legend>
|
||||
<label for="insight-host">Host</label>
|
||||
<input type="text" ng-model="insightHost" class="form-control" name="insight-host">
|
||||
<label for="insight-port">Port</label>
|
||||
<input type="number" ng-model="insightPort" class="form-control" name="insight-port">
|
||||
<input id="insight-secure" type="checkbox" ng-model="insightSecure" class="form-control" ng-click="changeInsightSSL()">
|
||||
<label for="insight-secure">Use SSL</label>
|
||||
|
||||
<p class="small">
|
||||
Insight API server is open-source software. You can run your own
|
||||
instance, check <a href="http://insight.is" target="_blank">Insight
|
||||
API Homepage</a></p>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>PeerJS server</legend>
|
||||
<label for="peerjs-key">Key</label>
|
||||
<input type="text" ng-model="networkKey" class="form-control" name="peerjs-key">
|
||||
<label for="peerjs-host">Host</label>
|
||||
<input type="text" ng-model="networkHost" class="form-control" name="peerjs-host">
|
||||
<label for="peerjs-port">Port</label>
|
||||
<input type="number" ng-model="networkPort" class="form-control" name="peerjs-port">
|
||||
<input id="peerjs-secure" type="checkbox" ng-model="networkSecure" class="form-control">
|
||||
<label for="peerjs-secure">Use SSL</label>
|
||||
|
||||
<p class="small">
|
||||
PeerJS Server is open-source software. You can run your own instance, or use PeerJS Server cloud. Check <a href="http://peerjs.com" target="_blank">PeerJS Server</a>
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<div class="text-right">
|
||||
<a class="back-button text-white m20r" href="/signin" 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>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</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…
Add table
Add a link
Reference in a new issue