Merge branch 'wallet/sprint/20' into wallet/task/426
This commit is contained in:
commit
6463d5df34
43 changed files with 789 additions and 999 deletions
|
|
@ -15,7 +15,7 @@
|
|||
</div>
|
||||
<div class="item item-divider"></div>
|
||||
<div class="bitcoin-com-page-body">
|
||||
<button class="button button-standard button-secondary" ng-click="openExternalLink('https://buy.bitcoin.com')">Buy bitcoin</button>
|
||||
<button class="button button-standard button-secondary" ng-click="openExternalLink('https://buy.bitcoin.com/?utm_source=WalletApp&utm_medium=' + os + '&utm_campaign=BuyBitcoin')">Buy bitcoin</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
|
|
|||
|
|
@ -1,21 +0,0 @@
|
|||
<ion-view id="rate-app" hide-tabs>
|
||||
<ion-content scroll="false">
|
||||
<a class="skip-rating" ng-click="skip()" translate>Not now</a>
|
||||
<div class="feedback-title" translate>Thank you!</div>
|
||||
<img src="img/ico-positive-feedback.svg" class="share-the-love-illustration"/>
|
||||
<div class="subtitle">
|
||||
<span translate>5-star ratings help us get {{appName}} into more hands, and more users means more resources can be committed to the app!</span>
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
<span class="text-bold" translate>Would you be willing to rate {{appName}} in the app store?</span>
|
||||
</div>
|
||||
<div class="rate-buttons">
|
||||
<button type="submit" class="button button-standard button-primary" ng-click="goAppStore()">
|
||||
<span translate>Rate on the app store</span>
|
||||
</button>
|
||||
<button type="submit" class="button button-standard button-secondary button-clear" ng-click="sendFeedback()">
|
||||
<span translate>Send us feedback instead</span>
|
||||
</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
<div class="card" id="rate-card" ng-controller="rateCardController">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<span translate>How do you like {{appName}}?</span>
|
||||
<a ng-click="hideCard()" ><i class="icon ion-ios-close-empty close-home-tip"></i></a>
|
||||
</div>
|
||||
<div class="row item item-sub" ng-class="{'row-margin': isModal}">
|
||||
<div class="col col-20" ng-click="setScore(1)">
|
||||
<i class="icon icon-svg">
|
||||
<img ng-if="1 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img ng-if="1 > score" src="img/ico-star.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
<div class="col col-20" ng-click="setScore(2)">
|
||||
<i class="icon icon-svg">
|
||||
<img ng-if="2 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img ng-if="2 > score" src="img/ico-star.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
<div class="col col-20" ng-click="setScore(3)">
|
||||
<i class="icon icon-svg">
|
||||
<img ng-if="3 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img ng-if="3 > score" src="img/ico-star.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
<div class="col col-20" ng-click="setScore(4)">
|
||||
<i class="icon icon-svg">
|
||||
<img ng-if="4 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img ng-if="4 > score" src="img/ico-star.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
<div class="col col-20" ng-click="setScore(5)">
|
||||
<i class="icon icon-svg">
|
||||
<img ng-if="5 == score" src="img/ico-star-filled.svg"/>
|
||||
<img ng-if="5 > score" src="img/ico-star.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feedback-flow-button" ng-if="button_title">
|
||||
<button type="submit" class="button button-standard button-primary" ng-click="goFeedbackFlow()">
|
||||
<span>{{button_title}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
<ion-view id="send-feedback" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{'Send Feedback' | translate}}</ion-nav-title>
|
||||
<ion-nav-buttons side="primary">
|
||||
<button ng-show="score" class="button no-border ng-hide" ng-click="sendFeedback(null, true)" translate>
|
||||
Cancel
|
||||
</button>
|
||||
<button ng-show="!score || fromSettings" class="button back-button button-clear ng-hide" ng-click="goBack()">
|
||||
<i class="icon ion-ios-arrow-thin-left"></i>
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button ng-show="isCordova" ng-disabled="!feedback.value" class="button no-border" type="submit" ng-click="sendFeedback(feedback.value)" translate>
|
||||
Send
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content class="has-header" scroll="false">
|
||||
<div class="row item item-sub feedback-heading">
|
||||
<div class="col col-50">
|
||||
<div class="feedback-title" ng-if="!justFeedback">
|
||||
<span>{{reaction}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-50 rating" ng-if="score">
|
||||
<img class="send-feedback-star" ng-if="1 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img class="send-feedback-star" ng-if="1 > score" src="img/ico-star.svg"/>
|
||||
<img class="send-feedback-star" ng-if="2 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img class="send-feedback-star" ng-if="2 > score" src="img/ico-star.svg"/>
|
||||
<img class="send-feedback-star" ng-if="3 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img class="send-feedback-star" ng-if="3 > score" src="img/ico-star.svg"/>
|
||||
<img class="send-feedback-star" ng-if="4 <= score" src="img/ico-star-filled.svg"/>
|
||||
<img class="send-feedback-star" ng-if="4 > score" src="img/ico-star.svg"/>
|
||||
<img class="send-feedback-star" ng-if="5 == score" src="img/ico-star-filled.svg"/>
|
||||
<img class="send-feedback-star" ng-if="5 > score" src="img/ico-star.svg"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment">
|
||||
<span>{{comment}}</span>
|
||||
</div>
|
||||
<div ng-if="showForm" class="form-fade-in">
|
||||
<textarea class="user-feedback" ng-model="feedback.value" rows="5" placeholder="{{'Your ideas, feedback, or comments' | translate}}"></textarea>
|
||||
<button ng-show="!isCordova" ng-disabled="!feedback.value" type="submit" class="button button-standard button-primary" ng-click="sendFeedback(feedback.value)" translate>
|
||||
Send
|
||||
</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
ng-init="wallet.coin == 'btc' ? walletsBtc.push(wallet) : walletsBch.push(wallet)">
|
||||
</span>
|
||||
|
||||
<div class="header" ng-if="!walletsBtc[0] || !walletsBch[0]">{{title}}</div>
|
||||
<div class="header" ng-if="(!walletsBtc[0] || !walletsBch[0]) || forceTitle === true">{{title}}</div>
|
||||
|
||||
<div class="subheader" ng-if="walletsBch[0] && walletsBtc[0]">
|
||||
<div translate>Bitcoin Cash (BCH)</div>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,16 @@
|
|||
<ion-view id="complete" hide-tabs>
|
||||
<ion-view id="share-app" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
<ion-nav-title>{{title}}</ion-nav-title>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button ng-show="!fromSettings" class="button no-border" ng-click="close()" translate>
|
||||
Finish
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content scroll="false">
|
||||
<div class="complete-layout">
|
||||
<div class="complete-layout__expand" ng-class="{'fade-in': !animate || socialsharing}">
|
||||
<div ng-show="fromSettings">
|
||||
<img src="img/ico-positive-feedback.svg" class="share-the-love-illustration"/>
|
||||
<div class="subtitle" translate>Share the love by inviting your friends.</div>
|
||||
</div>
|
||||
<div ng-show="!fromSettings">
|
||||
<div class="feedback-title" translate>Thank you!</div>
|
||||
<div class="subtitle" ng-show="!skipped" translate>A member of the team will review your feedback as soon as possible.</div>
|
||||
<div ng-if="score <= 3 || !socialsharing">
|
||||
<div class="subtitle" translate>If you have additional feedback, please let us know by tapping the "Send feedback" option in the Settings tab.</div>
|
||||
<img src="img/illustration-send-feedback.png" class="send-feedback-illustration"/>
|
||||
</div>
|
||||
<div class="subtitle" ng-if="score > 3 && socialsharing" translate>Share the love by inviting your friends.</div>
|
||||
</div>
|
||||
<div class="share-app-layout">
|
||||
<div class="share-app-layout__expand fade-in">
|
||||
<img src="img/ico-positive-feedback.svg" class="share-the-love-illustration"/>
|
||||
<div class="subtitle" translate>Share the love by inviting your friends.</div>
|
||||
</div>
|
||||
<div class="share-buttons" ng-if="score > 3 && socialsharing" ng-class="{'slide-up': socialsharing }">
|
||||
<div class="share-buttons slide-up">
|
||||
<div class="share-buttons__action" ng-show="facebook" ng-click="shareFacebook()">
|
||||
<i class="icon socialsharing-icon">
|
||||
<img src="img/social-icons/ico-social-facebook.svg"/>
|
||||
|
|
@ -66,4 +50,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
</ion-view>
|
||||
|
|
@ -22,8 +22,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ng-hide" ng-show="showRateCard.value" ng-include="'views/feedback/rateCard.html'"></div>
|
||||
|
||||
<div class="list card homeTip" ng-if="homeTip">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<div class="title" translate>
|
||||
|
|
|
|||
|
|
@ -3,15 +3,57 @@
|
|||
<ion-nav-title>{{'Send' | translate}}</ion-nav-title>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div id="tab-send-header" ng-if="hasFunds">
|
||||
<div class="send-wrapper item">
|
||||
<div class="row">
|
||||
<div class="input" ng-class="{'focus': searchFocus}">
|
||||
<input type="text" class="search-input" placeholder="{{'Search or enter bitcoin address' | translate}}"
|
||||
ng-model="formData.search" ng-change="findContact(formData.search)" ng-model-onblur
|
||||
ng-focus="searchInFocus()" ng-blur="searchBlurred()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<div class="row">
|
||||
<div class="col-40">
|
||||
<button class="button button-standard button-primary button-outline button-clipboard-paste" ng-click="pasteClipboard()" ng-class="{'contains-address': clipboardHasAddress, 'contains-content': clipboardHasContent}">
|
||||
<span class="icon"></span><br/>
|
||||
<span class="non-address" translate>Paste Clipboard</span>
|
||||
<span class="address" translate>Paste Address</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-60">
|
||||
<button class="button button-standard button-primary button-outline" ng-click="showWalletSelector()">
|
||||
<img src="img/icon-w2w.svg"/><br/>
|
||||
<span translate>Wallet to Wallet Transfer</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<button class="button button-standard button-green button-qr" ui-sref="tabs.scan">
|
||||
<span>
|
||||
<img src="img/icon-scan-qr.svg"/>
|
||||
<span translate>Scan QR Code</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="hasFunds">
|
||||
<div class="send-header-wrapper">
|
||||
<div class="item item-heading send-heading"><span translate>Recipient</span></div>
|
||||
<div class="item input search-wrapper" ng-class="{'focus': searchFocus}">
|
||||
<i class="icon icon-svg abs-v-center icon-bitcoinlogoplain"></i>
|
||||
<div class="item-icon-right">
|
||||
<input type="text" class="search-input" placeholder="{{'Search or enter bitcoin address' | translate}}" ng-model="formData.search" ng-change="findContact(formData.search)" ng-model-onblur ng-focus="searchInFocus()" ng-blur="searchBlurred()">
|
||||
<i class="icon icon-svg qr abs-v-center separator-left" on-tap="openScanner()"><img src="img/scan-ico.svg"></i>
|
||||
<div ng-if="hasWallets && hasFunds && !hasContacts">
|
||||
<div class="list sendTip">
|
||||
<div class="title" translate>
|
||||
Send Bitcoin faster!
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
<div ng-show="hasWallets">
|
||||
<p translate>Save frequently used addresses and send them Bitcoin in just one tap</p>
|
||||
</div>
|
||||
<div class="padding buttons">
|
||||
<a class="button-first-contact" ng-click="addContact()">
|
||||
<img src="img/icon-contact-add.svg"/>
|
||||
<span translate>Add your first contact</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -19,72 +61,75 @@
|
|||
|
||||
<div ng-if="!checkingBalance && (!hasFunds || !hasWallets)">
|
||||
<div class="list card sendTip">
|
||||
<div class="item item-icon-right item-heading"></div>
|
||||
<div>
|
||||
<i class="icon zero-state-icon">
|
||||
<img src="img/tab-icons/ico-send-selected.svg"/>
|
||||
</i>
|
||||
</div>
|
||||
<div class="title" translate>
|
||||
Start sending bitcoin
|
||||
Your Bitcoin wallet is empty
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
<span ng-show="hasWallets" translate>To get started, buy bitcoin or share your address. You can receive bitcoin from any wallet or service.</span>
|
||||
<span ng-show="!hasWallets" translate>To get started, you'll need to create a bitcoin wallet and get some bitcoin.</span>
|
||||
<div class="padding">
|
||||
<button class="button button-standard button-primary track_buy_bitcoin_click" id="tab_send_buy_bitcoin" ng-click="buyBitcoin()" ng-show="hasWallets" translate>Buy Bitcoin</button>
|
||||
<button class="button button-standard button-primary" ng-click="createWallet()" ng-show="!hasWallets" translate>Create bitcoin wallet</button>
|
||||
<button class="button button-standard button-secondary" ui-sref="tabs.receive" ng-show="hasWallets" translate>Show bitcoin address</button>
|
||||
<div ng-show="hasWallets">
|
||||
<p translate>To get started, buy Bitcoin Cash (BCH) or Bitcoin Core (BTC), or share your address.</p>
|
||||
<p translate>You can receive bitcoin from any wallet or service.</p>
|
||||
</div>
|
||||
<div ng-show="!hasWallets" translate>To get started, you'll need to create a bitcoin wallet and get some bitcoin.</div>
|
||||
<div class="padding buttons">
|
||||
<button class="button button-standard button-green" ng-click="buyBitcoin()" ng-show="hasWallets" translate>Buy Bitcoin now</button>
|
||||
<button class="button button-standard button-green" ng-click="createWallet()" ng-show="!hasWallets" translate>Create bitcoin wallet</button>
|
||||
<button class="button button-standard button-white" ui-sref="tabs.receive" ng-show="hasWallets" translate>Show my address</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card" ng-if="hasContacts && hasWallets && hasFunds">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<span translate>Contacts</span>
|
||||
<a ng-if="hasContacts" ui-sref="tabs.send.addressbook">
|
||||
<i class="icon ion-ios-plus-empty list-add-button"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="list">
|
||||
<a class="item item-icon-left item-icon-right" ng-repeat="item in list" ng-if="!item.isWallet && item.recipientType != 'wallet'" ng-click="goToAmount(item)">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/contact-placeholder.svg" class="bg" ng-if="isChromeApp">
|
||||
<gravatar class="send-gravatar" name="{{item.name}}" width="30" email="{{item.email}}" ng-if="!isChromeApp"></gravatar>
|
||||
</i>
|
||||
{{item.name}}
|
||||
<p>
|
||||
<span>{{item.displayCoin}}</span>
|
||||
</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
<div class="show-more" ng-if="contactsShowMore" ng-click="showMore()" translate>
|
||||
Show more
|
||||
<div id="tab-send-contacts" class="row" ng-class="{'ios':isIOS}" ng-if="hasContacts && hasWallets && hasFunds">
|
||||
<div class="col">
|
||||
<div class="card contacts">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<div translate>Contacts</div>
|
||||
<div class="subtitle"><span translate>Saved frequently used addresses</span></div>
|
||||
<a ng-if="hasContacts" ui-sref="tabs.send.addressbook">
|
||||
<i class="icon ion-ios-plus-empty list-add-button"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="list">
|
||||
<a class="item item-icon-left item-icon-right" ng-repeat="item in list"
|
||||
ng-if="!item.isWallet && item.recipientType != 'wallet'" ng-click="goToAmount(item)">
|
||||
<i class="icon big-icon-svg">
|
||||
<gravatar class="send-gravatar" name="{{item.name}}" width="120" email="{{item.email}}"></gravatar>
|
||||
</i>
|
||||
{{item.name}}
|
||||
<p>
|
||||
<span>{{item.displayCoin}}</span>
|
||||
</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card" ng-if="showTransferCard && hasFunds">
|
||||
<div class="item item-icon-right item-heading" ng-click="toggle('transferToWallet')">
|
||||
<span translate>Transfer to Wallet</span>
|
||||
<i class="icon bp-arrow-up" ng-show="sectionDisplay.transferToWallet"></i>
|
||||
<i class="icon bp-arrow-down" ng-show="!sectionDisplay.transferToWallet"></i>
|
||||
</div>
|
||||
<div class="list" ng-show="sectionDisplay.transferToWallet">
|
||||
<a class="item item-icon-left item-icon-right"
|
||||
ng-repeat="item in list"
|
||||
ng-if="hasWallets && item.recipientType == 'wallet'"
|
||||
ng-click="goToAmount(item)">
|
||||
<i class="icon big-icon-svg" ng-if="item.recipientType == 'wallet'" ng-init="wallet = item" ng-include="'views/includes/walletIcon.html'"></i>
|
||||
{{item.name}}
|
||||
<p>
|
||||
<span>{{item.balanceString}}</span>
|
||||
</p>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ion-content>
|
||||
<wallet-selector
|
||||
wallet-selector-title="walletSelectorTitleFrom"
|
||||
wallet-selector-force-title="walletSelectorTitleForce"
|
||||
wallet-selector-wallets="walletsWithFunds"
|
||||
wallet-selector-selected-wallet="wallet"
|
||||
wallet-selector-show="showWallets"
|
||||
wallet-selector-on-select="onWalletSelect"
|
||||
wallet-selector-display-balance-as-fiat="displayBalanceAsFiat">
|
||||
</wallet-selector>
|
||||
<wallet-selector
|
||||
wallet-selector-on-hide=""
|
||||
wallet-selector-title="walletSelectorTitleTo"
|
||||
wallet-selector-wallets="walletsBch"
|
||||
wallet-selector-selected-wallet="wallet"
|
||||
wallet-selector-show="showWalletsBch"
|
||||
wallet-selector-on-select="onWalletSelect"
|
||||
wallet-selector-display-balance-as-fiat="displayBalanceAsFiat">
|
||||
</wallet-selector>
|
||||
<wallet-selector
|
||||
wallet-selector-on-hide=""
|
||||
wallet-selector-title="walletSelectorTitleTo"
|
||||
wallet-selector-wallets="walletsBtc"
|
||||
wallet-selector-selected-wallet="wallet"
|
||||
wallet-selector-show="showWalletsBtc"
|
||||
wallet-selector-on-select="onWalletSelect"
|
||||
wallet-selector-display-balance-as-fiat="displayBalanceAsFiat">
|
||||
</wallet-selector>
|
||||
</ion-view>
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@
|
|||
<img src="img/icon-link.svg" class="bg just-a-hint"/>
|
||||
</i>
|
||||
</a>
|
||||
<a class="item item-icon-left item-icon-right" ui-sref="tabs.feedback">
|
||||
<a class="item item-icon-left item-icon-right" ng-click="sendFeedback()">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-send-feedback.svg" class="bg"/>
|
||||
</i>
|
||||
<span>{{'Send Feedback' | translate}}</span>
|
||||
<i class="icon bp-arrow-right"></i>
|
||||
</a>
|
||||
<a ng-if="isCordova && !isWindowsPhoneApp" class="item item-icon-left item-icon-right" ui-sref="tabs.shareApp({score: 4, skipped: true, fromSettings: true})">
|
||||
<a ng-if="isCordova && !isWindowsPhoneApp" class="item item-icon-left item-icon-right" ui-sref="tabs.shareApp">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-heart.svg" class="bg"/>
|
||||
</i>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue