2016-09-22 06:34:00 -07:00
< ion-view id = "walletDetails" >
2016-11-10 11:26:22 -08:00
2016-09-29 15:04:52 -07:00
< ion-nav-bar ng-style = "{'background-color': wallet.color}" >
< ion-nav-title > {{wallet.name}}< / ion-nav-title >
2016-09-16 08:19:40 -07:00
< ion-nav-back-button >
< / ion-nav-back-button >
2016-09-16 07:30:16 -07:00
< ion-nav-buttons side = "secondary" >
2016-10-18 18:10:09 -07:00
< button class = "button back-button" ng-click = "startSearch(); openSearchModal()" ng-if = "txHistory.length > 4" >
< i class = "icon ion-ios-search-strong tx-search" > < / i >
2016-09-16 07:30:16 -07:00
< / button >
< / ion-nav-buttons >
< / ion-nav-bar >
2016-10-03 07:52:48 -07:00
2016-11-11 13:52:41 -08:00
< div class = "bp-content" ng-class = "{'status-bar': isCordova && isIOS}" >
2016-11-09 09:34:38 -08:00
2016-11-14 15:26:45 -08:00
< div class = "amount-wrapper" ng-show = "wallet && wallet.isComplete() && amountIsCollapsible" ng-style = "{'background-color':wallet.color}" >
2016-11-10 11:02:34 -08:00
< div
class="amount-bg"
ng-style="{'background-color':wallet.color}"
2016-11-14 16:13:14 -08:00
ng-class="{collapsible: amountIsCollapsible}"
2016-11-14 12:34:47 -08:00
>< / div >
2016-11-14 15:26:45 -08:00
< div
ng-style="{'background-color':wallet.color, 'height': amountHeight}"
class="amount"
ng-class="{collapsible: amountIsCollapsible}"
>
2016-11-09 09:34:38 -08:00
< div ng-if = "!notAuthorized && !updatingStatus" >
< div ng-show = "updateStatusError" >
2016-12-13 09:30:28 -08:00
< span class = "size-12 db m10" > {{updateStatusError}}< / span >
2017-01-17 07:27:00 -08:00
< a class = "button button-outline button-light button-small" ng-click = 'updateAll(true)' translate > Tap to retry< / a >
2016-11-09 09:34:38 -08:00
< / div >
< div ng-show = "walletNotRegistered" >
2016-12-13 09:30:28 -08:00
< span class = "size-12 db m10" translate > This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information.< / span >
2016-11-09 09:34:38 -08:00
< a class = "button button-outline button-light button-small" ng-click = 'recreate()' translate > Recreate< / a >
< / div >
2016-11-09 10:15:42 -08:00
< div
ng-click='updateAll(true)'
2017-01-17 07:27:00 -08:00
ng-show="!updateStatusError & & !wallet.balanceHidden"
2016-11-09 10:15:42 -08:00
on-hold="hideToggle()"
ng-style="{'transform': amountScale}"
2016-12-15 12:38:15 -08:00
ng-class="{amount__balance: amountIsCollapsible}">
2016-12-09 13:42:11 -08:00
< strong class = "size-36" > {{status.totalBalanceStr}}< / strong >
2016-11-09 10:15:42 -08:00
< div
class="size-14 amount-alternative"
ng-if="status.totalBalanceAlternative"
ng-style="{opacity: altAmountOpacity}"
>
{{status.totalBalanceAlternative}} {{status.alternativeIsoCode}}
< / div >
2016-11-09 09:34:38 -08:00
< / div >
2016-12-13 09:30:28 -08:00
2016-11-22 11:14:06 -08:00
< div ng-style = "{'transform': amountScale}"
class="amount__balance"
2017-01-17 07:27:00 -08:00
ng-show="!updateStatusError & & wallet.balanceHidden"
2016-11-22 11:14:06 -08:00
on-hold="hideToggle()">
2016-11-09 09:34:38 -08:00
< strong class = "size-24" translate > [Balance Hidden]< / strong >
2016-11-22 11:14:06 -08:00
< div ng-style = "{opacity: altAmountOpacity}" class = "size-14 amount-alternative" translate >
2016-11-09 09:34:38 -08:00
Tap and hold to show
< / div >
< / div >
2016-12-13 09:30:28 -08:00
< div ng-if = "!wallet.balanceHidden && showBalanceButton" ng-style = "{'opacity': altAmountOpacity, 'transform': amountScale}" >
2016-12-09 13:42:11 -08:00
< button class = "button button-standard button-primary amount__button-balance size-14" ng-click = "openBalanceModal()" >
< i class = "icon ion-ios-checkmark-outline" > < / i >
< strong >
{{status.spendableBalanceStr}}
< / strong >
< span >
{{status.spendableBalanceAlternative}} {{status.alternativeIsoCode}}
< / span >
< / button >
< / div >
2016-12-13 09:30:28 -08:00
2016-11-09 09:34:38 -08:00
< / div >
2016-11-14 12:34:47 -08:00
< div ng-if = "updatingStatus" class = "amount__updating" >
2016-11-09 09:34:38 -08:00
< div class = "size-36" >
< strong > ...< / strong >
< / div >
< / div >
2016-11-14 15:26:45 -08:00
< / div >
2016-11-09 10:15:42 -08:00
< div class = "wallet-details-wallet-info" ng-style = "{opacity: altAmountOpacity}" >
2016-11-09 09:34:38 -08:00
< span ng-include = "'views/includes/walletInfo.html'" > < / span >
< / div >
2016-11-14 15:26:45 -08:00
< / div >
< ion-content ng-style = "{'margin-top': contentMargin}" ng-class = "{collapsible: amountIsCollapsible}" >
2016-10-10 11:19:33 -07:00
< ion-refresher
2016-10-14 06:24:20 -07:00
ng-if="isAndroid"
2016-10-10 11:19:33 -07:00
pulling-icon="ion-ios-refresh"
spinner="ios-small"
on-refresh="onRefresh()">
< / ion-refresher >
2016-08-15 12:07:30 -07:00
2016-11-15 08:27:14 -08:00
< div class = "amount-wrapper" ng-if = "wallet && wallet.isComplete() && !amountIsCollapsible" >
2016-11-14 16:13:14 -08:00
< div
class="amount-bg"
ng-style="{'background-color':wallet.color}"
>< / div >
2016-11-14 15:26:45 -08:00
< div
ng-style="{'background-color':wallet.color}"
class="amount"
ng-class="{'collapsible': amountIsCollapsible}"
>
< div ng-if = "!updatingStatus" >
< div ng-show = "updateStatusError" >
2016-12-13 09:30:28 -08:00
< span class = "size-12 db m10" > {{updateStatusError}}< / span >
2016-11-14 15:26:45 -08:00
< a class = "button button-outline button-light button-small" ng-click = 'updateAll()' translate > Tap to retry< / a >
< / div >
< div ng-show = "walletNotRegistered" >
2016-12-13 09:30:28 -08:00
< span class = "size-12 db m10" translate > This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information.< / span >
2016-11-14 15:26:45 -08:00
< a class = "button button-outline button-light button-small" ng-click = 'recreate()' translate > Recreate< / a >
< / div >
2016-12-15 12:38:15 -08:00
< div ng-click = 'updateAll(true)' ng-show = "!updateStatusError && !wallet.balanceHidden" on-hold = "hideToggle()" ng-style = "{'transform': amountScale}" >
< strong class = "size-36" > {{status.totalBalanceStr}}< / strong >
< div class = "size-14 amount-alternative" ng-if = "status.totalBalanceAlternative" > {{status.totalBalanceAlternative}} {{status.alternativeIsoCode}}< / div >
< / div >
< div ng-if = "!wallet.balanceHidden && showBalanceButton" ng-style = "{'opacity': altAmountOpacity, 'transform': amountScale}" >
< button class = "button button-standard button-primary amount__button-balance size-14" ng-click = "openBalanceModal()" >
< i class = "icon ion-ios-checkmark-outline" > < / i >
< strong >
{{status.spendableBalanceStr}}
< / strong >
< span >
{{status.spendableBalanceAlternative}} {{status.alternativeIsoCode}}
< / span >
< / button >
< / div >
2016-12-27 06:09:51 -08:00
< div ng-show = "!updateStatusError && wallet.balanceHidden" ng-style = "{'transform': amountScale}" on-hold = "hideToggle()" >
2016-11-14 15:26:45 -08:00
< strong class = "size-24" translate > [Balance Hidden]< / strong >
< div class = "size-14" translate >
Tap and hold to show
< / div >
< / div >
< / div >
< div ng-if = "updatingStatus" >
< div class = "size-36" >
< strong > ...< / strong >
< / div >
< / div >
< / div > <!-- amount -->
< div class = "wallet-details-wallet-info" >
< span ng-include = "'views/includes/walletInfo.html'" > < / span >
< / div >
< / div > <!-- oh -->
2016-12-13 09:49:23 -08:00
< a class = "wallet-not-backed-up-warning" ng-if = "wallet.needsBackup" ui-sref = "tabs.wallet.backupWarning({from: 'tabs.wallet'})" translate >
2016-11-07 14:22:51 -08:00
Wallet not backed up
< / a >
2016-08-15 12:07:30 -07:00
2016-11-15 08:27:14 -08:00
< div class = "p60b" ng-if = "wallet && wallet.isComplete() && !walletNotRegistered" style = "padding-top: 1rem;" >
2016-08-15 12:07:30 -07:00
< div class = "oh pr m20t" ng-show = "wallet.incorrectDerivation" >
< div class = "text-center text-warning" >
< i class = "fi-alert" > < / i >
< span translate >
WARNING: Key derivation is not working on this device/wallet. Actions cannot be performed on this wallet.
< / span >
< / div >
< / div >
2016-10-18 15:35:03 -07:00
< div class = "list" ng-if = "txps[0]" >
2016-11-03 14:38:46 -07:00
<!-- <div class="item item - heading" translate>
2016-10-03 07:52:48 -07:00
< span ng-show = "requiresMultipleSignatures" translate > Payment Proposals< / span >
< span ng-show = "!requiresMultipleSignatures" translate > Unsent transactions< / span >
2016-11-03 14:38:46 -07:00
< / div > -->
< div class = "wallet-details__group-label" style = "padding-bottom: 8px;" >
< span ng-show = "requiresMultipleSignatures" translate > Proposals< / span >
< span ng-show = "!requiresMultipleSignatures" translate > Unsent transactions< / span >
2016-10-03 07:52:48 -07:00
< / div >
2016-11-03 14:29:29 -07:00
< div ng-repeat = "tx in txps" ng-click = "openTxpModal(tx)" >
2016-11-15 08:42:34 -08:00
< a class = "wallet-details__item proposal item" ng-include = "'views/includes/txp.html'" > < / a >
2016-10-03 07:52:48 -07:00
< / div >
2016-11-07 12:32:28 -08:00
< div class = "item item-footer description" ng-show = "status.lockedBalanceSat" style = "background: white;" >
2016-10-03 07:52:48 -07:00
< span translate > Total Locked Balance< / span > :
< b > {{status.lockedBalanceStr}} < / b >
< span > {{status.lockedBalanceAlternative}} {{status.alternativeIsoCode}} < / span >
< / div >
2016-08-23 13:31:50 -07:00
< / div >
2016-08-18 06:37:08 -07:00
<!-- Transactions -->
2016-08-15 06:25:43 -07:00
2016-08-15 12:07:30 -07:00
< div class = "oh pr m20t text-gray size-12 text-center"
2017-01-17 06:41:39 -08:00
ng-show="!txHistory[0] & & !updatingTxHistory & & !updateTxHistoryError & & !updateStatusError" translate>
2016-09-29 15:04:52 -07:00
No transactions yet
2016-08-15 12:07:30 -07:00
< / div >
2017-01-17 06:41:39 -08:00
< div class = "oh pr m20t text-gray size-12 text-center"
ng-show="!txHistory[0] & & !updatingTxHistory & & updateTxHistoryError" translate>
Could not update transaction history
< / div >
2016-09-30 11:58:56 -07:00
< div ng-show = "updatingTxHistory && updatingTxHistoryProgress>5" class = "updatingHistory" >
2016-08-23 08:10:48 -07:00
< div class = "row" >
2017-01-17 06:41:39 -08:00
< ion-spinner class = "spinner-dark" icon = "crescent" > < / ion-spinner >
2016-08-23 08:10:48 -07:00
< / div >
< div class = "row" >
2017-01-17 06:41:39 -08:00
< div class = "col" >
< span translate > Updating transaction history. Please stand by.< / span > < br >
< span translate > {{updatingTxHistoryProgress}} transactions downloaded< / span >
< / div >
2016-08-15 12:07:30 -07:00
< / div >
2016-08-18 13:56:04 -07:00
< / div >
2016-08-15 06:25:43 -07:00
2016-11-01 13:47:44 -07:00
< div class = "wallet-details__list" ng-show = "txHistory[0]" >
2016-11-01 14:32:18 -07:00
< div ng-repeat = "btx in txHistory track by $index" ng-click = "openTxModal(btx)" >
2016-11-04 10:29:19 -07:00
< div class = "wallet-details__group-label" ng-if = "isFirstInGroup($index)" >
2017-01-17 06:41:39 -08:00
< span ng-if = "isDateInCurrentMonth(getDate(btx.time))" >
< span translate > Recent< / span >
2016-11-02 14:01:32 -07:00
< / span >
2017-01-17 06:41:39 -08:00
2016-11-02 14:01:32 -07:00
< span ng-if = "!isDateInCurrentMonth(getDate(btx.time))" >
2016-12-12 12:03:47 -08:00
{{getDate(btx.time) | amDateFormat:'MMMM'}}
2016-11-02 14:01:32 -07:00
< / span >
< / div >
2016-11-01 14:32:18 -07:00
2016-11-08 12:00:54 -08:00
< a class = "wallet-details__item item" >
2016-11-03 14:29:29 -07:00
< img class = "wallet-details__tx-icon" src = "img/icon-confirming.svg" width = "40" ng-if = "isUnconfirmed(btx)" >
< span ng-if = "!isUnconfirmed(btx)" >
2016-11-08 11:15:24 -08:00
< img class = "wallet-details__tx-icon" src = "img/icon-tx-received-outline.svg" width = "40" ng-if = "btx.action == 'received'" >
< img class = "wallet-details__tx-icon" src = "img/icon-tx-sent-outline.svg" width = "40" ng-if = "btx.action == 'sent'" >
< img class = "wallet-details__tx-icon" src = "img/icon-tx-moved-outline.svg" width = "40" ng-if = "btx.action == 'moved'" >
2016-11-03 12:11:06 -07:00
< / span >
2016-11-01 14:32:18 -07:00
2016-11-04 10:29:19 -07:00
< div class = "wallet-details__tx-content" ng-class = "{'no-border': isLastInGroup($index)}" >
2016-11-03 12:11:06 -07:00
2016-11-03 14:29:29 -07:00
< div class = "wallet-details__tx-title" ng-if = "!isUnconfirmed(btx)" >
2016-11-01 14:32:18 -07:00
< div ng-show = "btx.action == 'received'" class = "ellipsis" >
2016-11-08 13:06:41 -08:00
< div ng-if = "btx.note.body" class = "wallet-details__tx-message ellipsis" > {{btx.note.body}}< / div >
2016-12-12 12:03:47 -08:00
< div ng-if = "!btx.note.body" class = "wallet-details__tx-message ellipsis" translate > Received< / div >
2016-11-01 14:32:18 -07:00
< / div >
2016-11-01 13:47:44 -07:00
2016-11-01 14:32:18 -07:00
< div ng-show = "btx.action == 'sent'" class = "ellipsis" >
< div ng-if = "btx.message" class = "wallet-details__tx-message ellipsis" > {{btx.message}}< / div >
2016-11-08 13:06:41 -08:00
< div ng-if = "!btx.message && btx.note.body" class = "wallet-details__tx-message ellipsis" > {{btx.note.body}}< / div >
< div ng-if = "!btx.message && !btx.note.body && addressbook[btx.addressTo]" class = "wallet-details__tx-message ellipsis" >
2016-11-01 14:32:18 -07:00
{{addressbook[btx.addressTo].name || addressbook[btx.addressTo]}}
< / div >
< div ng-if = "!btx.message && !btx.note.body && !addressbook[btx.addressTo]" translate > Sent< / div >
2016-11-01 13:47:44 -07:00
< / div >
2016-11-01 14:32:18 -07:00
< div ng-show = "btx.action == 'moved'" class = "ellipsis" >
2016-11-08 13:06:41 -08:00
< div ng-if = "btx.note.body" class = "wallet-details__tx-message ellipsis" > {{btx.note.body}}< / div >
< div ng-if = "!btx.note.body" class = "wallet-details__tx-message ellipsis" translate > Moved< / div >
2016-11-01 14:32:18 -07:00
< / div >
< span class = "label tu warning radius" ng-if = "btx.action == 'invalid'" translate > Invalid< / span >
2016-11-01 13:47:44 -07:00
< / div >
2016-11-03 14:29:29 -07:00
< div class = "wallet-details__tx-title" ng-if = "isUnconfirmed(btx)" >
2016-11-03 12:11:06 -07:00
< div class = "ellipsis" style = "color: #B4B4B4;" >
2016-12-13 09:49:23 -08:00
< span ng-if = "btx.action == 'sent' || btx.action == 'moved'" translate > Sending< / span >
< span ng-if = "btx.action == 'received'" translate > Receiving< / span >
2016-11-03 12:11:06 -07:00
< / div >
< / div >
2016-11-01 14:32:18 -07:00
< span class = "item-note text-right wallet-details__tx-amount" >
< span class = "wallet-details__tx-amount" ng-class = "{'wallet-details__tx-amount--recent': btx.recent, 'wallet-details__tx-amount--received': btx.action == 'received', 'wallet-details__tx-amount--sent': btx.action == 'sent'}" >
< span ng-if = "btx.action == 'sent'" > – < / span >
< span class = "size-12" ng-if = "btx.action == 'invalid'" translate >
(possible double spend)
< / span >
< span ng-if = "btx.action != 'invalid'" >
{{btx.amountStr}}
< / span >
2016-11-01 13:47:44 -07:00
< / span >
2016-11-01 14:32:18 -07:00
< div >
2016-11-03 14:29:29 -07:00
< time class = "wallet-details__tx-time" ng-if = "btx.time && createdWithinPastDay(btx.time)" > {{btx.time * 1000 | amTimeAgo}}< / time >
2016-12-12 12:03:47 -08:00
< time class = "wallet-details__tx-time" ng-if = "btx.time && !createdWithinPastDay(btx.time)" >
2016-12-29 05:02:44 -08:00
{{btx.time * 1000 | amDateFormat:'MMM D, YYYY'}}
2016-12-12 12:03:47 -08:00
< / time >
2016-11-01 14:32:18 -07:00
< / div >
2016-11-01 13:47:44 -07:00
< / span >
2016-11-01 14:32:18 -07:00
< / div >
2016-11-08 12:00:54 -08:00
< / a >
2016-11-01 13:47:44 -07:00
2016-08-18 16:54:08 -07:00
< / div >
< / div >
2016-10-03 07:52:48 -07:00
< ion-infinite-scroll
ng-if="txHistoryShowMore"
on-infinite="showMore()"
distance="1%">
< / ion-infinite-scroll >
2016-11-14 12:19:10 -08:00
< / div >
2016-08-15 12:07:30 -07:00
< / ion-content >
2016-11-10 11:26:22 -08:00
< / div >
2016-08-15 12:07:30 -07:00
< / ion-view >