Merge branch 'wallet/sprint/20' into wallet/task/426

This commit is contained in:
Sebastiaan Pasma 2018-07-17 13:41:09 +02:00
commit 6463d5df34
No known key found for this signature in database
GPG key ID: 9A2B0C8B95A1D26F
43 changed files with 789 additions and 999 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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