Split signin.html in home, join and open files. Signin process with responsive support

This commit is contained in:
Gustavo Maximiliano Cortez 2014-07-23 17:10:02 -03:00
commit 9875e9d643
21 changed files with 329 additions and 288 deletions

28
views/home.html Normal file
View 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>

View file

@ -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">&laquo; Back</a>
<a class="back-button text-white m20r" href="/">&laquo; Back</a>
<button type="submit" class="button primary m0" ng-disabled="importForm.$invalid" loading="Importing">
Import backup
</button>

View file

@ -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

View file

@ -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
View 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">&laquo; 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
View 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">&laquo; 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>

View file

@ -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">&laquo; 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">&laquo; 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>

View file

@ -66,7 +66,7 @@
</div>
</div>
<div class="text-right">
<a ng-show="!isSetupWalletPage" class="back-button m20r" href="/signin">&laquo; Back</a>
<a ng-show="!isSetupWalletPage" class="back-button m20r" href="/">&laquo; Back</a>
<a ng-show="isSetupWalletPage" class="back-button m20r"
ng-click="setupWallet()">&laquo; Back</a>
<button ng-show="isSetupWalletPage" type="submit" class="button secondary m0" ng-disabled="setupForm.$invalid || loading">

View file

@ -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()">&laquo; 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()">&laquo; 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>