Merge branch 'ref/design' of https://github.com/bitpay/bitpay-wallet into feature/external_link_open_system_browser
# Conflicts: # www/views/glidera.html
|
@ -13,12 +13,12 @@
|
|||
"gitHubRepoName": "bitpay-wallet",
|
||||
"disclaimerUrl": "",
|
||||
"url": "https://bitpay.com",
|
||||
"appDescription": "Secure Bitcoin Storage",
|
||||
"appDescription": "Secure Bitcoin Wallet",
|
||||
"winAppName": "BitPayWallet",
|
||||
"wpPublisherId": "{}",
|
||||
"wpProductId": "{}",
|
||||
"pushSenderId": "1036948132229",
|
||||
"description": "Secure Bitcoin Storage",
|
||||
"description": "Secure Bitcoin Wallet",
|
||||
"version": "0.14.0",
|
||||
"androidVersion": "1",
|
||||
"_extraCSS": null,
|
||||
|
|
11968
public/css/copay.css
16611
public/js/copay.js
Before Width: | Height: | Size: 556 KiB After Width: | Height: | Size: 526 KiB |
Before Width: | Height: | Size: 590 KiB After Width: | Height: | Size: 550 KiB |
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 87 KiB |
|
@ -116,7 +116,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
};
|
||||
|
||||
popupService.showPrompt(null, message, opts, function(res) {
|
||||
if (res) $scope.description = res;
|
||||
if (typeof res != 'undefined') $scope.description = res;
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
}, 100);
|
||||
|
|
|
@ -18,10 +18,20 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
|||
$scope.color = $scope.wallet.color;
|
||||
$scope.data = {};
|
||||
$scope.hasClick = platformInfo.hasClick;
|
||||
$scope.displayAmount = getDisplayAmount(tx.amountStr);
|
||||
$scope.displayUnit = getDisplayUnit(tx.amountStr);
|
||||
initActionList();
|
||||
checkPaypro();
|
||||
}
|
||||
|
||||
function getDisplayAmount(amountStr) {
|
||||
return amountStr.split(' ')[0];
|
||||
}
|
||||
|
||||
function getDisplayUnit(amountStr) {
|
||||
return amountStr.split(' ')[1];
|
||||
}
|
||||
|
||||
function initActionList() {
|
||||
$scope.actionList = [];
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
angular.module('copayApp.controllers').controller('backupWarningController', function($scope, $state, $timeout, $stateParams, $ionicModal) {
|
||||
|
||||
$scope.walletId = $stateParams.walletId;
|
||||
$scope.fromState = $stateParams.from;
|
||||
$scope.toState = $scope.fromState + ".backup";
|
||||
$scope.fromState = $stateParams.from == 'onboarding' ? $stateParams.from + '.backupRequest' : $stateParams.from;
|
||||
$scope.toState = $stateParams.from + '.backup';
|
||||
|
||||
$scope.openPopup = function() {
|
||||
$ionicModal.fromTemplateUrl('views/includes/screenshotWarningModal.html', {
|
||||
|
|
|
@ -173,6 +173,9 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
|||
$scope.hideHomeTip = function() {
|
||||
storageService.setHomeTipAccepted(false, function(error, value) {
|
||||
$scope.homeTip = false;
|
||||
$timeout(function() {
|
||||
$scope.$apply();
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
var CONTACTS_SHOW_LIMIT;
|
||||
var currentContactsPage;
|
||||
|
||||
|
||||
var updateList = function() {
|
||||
CONTACTS_SHOW_LIMIT = 10;
|
||||
currentContactsPage = 0;
|
||||
|
@ -103,11 +104,56 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
var updateHasFunds = function() {
|
||||
$scope.hasFunds = null;
|
||||
|
||||
var wallets = profileService.getWallets({
|
||||
onlyComplete: true,
|
||||
});
|
||||
|
||||
if (!wallets || !wallets.length) {
|
||||
$scope.hasFunds = false;
|
||||
}
|
||||
|
||||
var index = 0;
|
||||
lodash.each(wallets, function(w) {
|
||||
walletService.getStatus(w, {}, function(err, status) {
|
||||
++index;
|
||||
if (err || !status) {
|
||||
$log.error(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (status.availableBalanceSat) {
|
||||
$scope.hasFunds = true;
|
||||
}
|
||||
if (index == wallets.length) {
|
||||
$scope.hasFunds = $scope.hasFunds || false;
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||
$scope.formData = {
|
||||
search: null
|
||||
};
|
||||
updateList();
|
||||
updateHasFunds();
|
||||
});
|
||||
|
||||
// This could probably be enhanced refactoring the routes abstract states
|
||||
$scope.createWallet = function() {
|
||||
$state.go('tabs.home').then(function() {
|
||||
$state.go('tabs.add.create-personal');
|
||||
});
|
||||
};
|
||||
|
||||
$scope.buyBitcoin = function() {
|
||||
$state.go('tabs.home').then(function() {
|
||||
$state.go('tabs.buyandsell.glidera');
|
||||
});
|
||||
};
|
||||
|
||||
});
|
||||
|
|
|
@ -38,6 +38,9 @@ $button-secondary-active-border: transparent;
|
|||
&.button-secondary {
|
||||
&.button-standard {
|
||||
@extend %button-standard;
|
||||
& + .button-standard {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,19 @@
|
|||
padding-left: 74px;
|
||||
}
|
||||
|
||||
|
||||
.icon-svg {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
> img {
|
||||
background-repeat:no-repeat;
|
||||
background-clip: padding-box;
|
||||
background-size: contain;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.big-icon-svg {
|
||||
padding: 0 7px;
|
||||
> .bg {
|
||||
|
|
|
@ -27,3 +27,14 @@ ion-tabs.ion-tabs-transparent {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// .placeholder-icon padding cannot be modified by a variable
|
||||
$placeholder-icon-padding: 10px;
|
||||
.placeholder-icon {
|
||||
&:first-child {
|
||||
padding-right: $placeholder-icon-padding;
|
||||
}
|
||||
&:last-child {
|
||||
padding-left: $placeholder-icon-padding;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
#backup-confirm-modal{
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
#backup-needed-modal{
|
||||
.button.button-secondary {
|
||||
font-size: 14px;
|
||||
margin-top: 0;
|
||||
}
|
||||
.button {
|
||||
display: block;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
|
@ -73,5 +73,5 @@
|
|||
background: rgba(0, 0, 0, .8);
|
||||
}
|
||||
|
||||
@import "backup-confirm-modal";
|
||||
@import "backup-needed-modal";
|
||||
@import "screenshot-warning-model";
|
||||
|
|
|
@ -1,42 +1,97 @@
|
|||
#txp-details{
|
||||
#txp-details {
|
||||
$item-lateral-padding: 20px;
|
||||
$item-vertical-padding: 10px;
|
||||
$item-border-color: #EFEFEF;
|
||||
$item-label-color: #6C6C6E;
|
||||
|
||||
.list {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.slide-to-pay {
|
||||
bottom: 100px;
|
||||
}
|
||||
.head {
|
||||
padding-bottom: 30px;
|
||||
.sending-label{
|
||||
line-height: 70px;
|
||||
font-size: 25px;
|
||||
i {
|
||||
margin-left: 20px;
|
||||
}
|
||||
span {
|
||||
margin-left: 15px;
|
||||
padding: 30px $item-lateral-padding 4rem;
|
||||
border-top: 0;
|
||||
|
||||
.sending-label {
|
||||
display: flex;
|
||||
font-size: 18px;
|
||||
align-items: center;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
img {
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
.amount-label{
|
||||
margin-left: 20px;
|
||||
line-height: 30px;
|
||||
.amount{
|
||||
font-size: 36px;
|
||||
font-size: 38px;
|
||||
margin-bottom: .5rem;
|
||||
|
||||
> .unit {
|
||||
font-family: "Roboto-Light";
|
||||
}
|
||||
}
|
||||
.alternative{
|
||||
font-size: 18px;
|
||||
font-weight: 200;
|
||||
color: grey;
|
||||
.alternative {
|
||||
font-size: 16px;
|
||||
font-family: "Roboto-Light";
|
||||
color: #9B9B9B;
|
||||
}
|
||||
}
|
||||
}
|
||||
.info{
|
||||
.item {
|
||||
border-color: $item-border-color;
|
||||
}
|
||||
.info {
|
||||
span {
|
||||
display: block;
|
||||
}
|
||||
.item {
|
||||
color: #4A4A4A;
|
||||
padding: $item-vertical-padding $item-lateral-padding;
|
||||
|
||||
.label {
|
||||
font-size: 14px;
|
||||
color: $item-label-color;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
&.single-line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 17px $item-lateral-padding;
|
||||
|
||||
.label {
|
||||
margin: 0;
|
||||
flex-grow: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
.item-divider {
|
||||
padding-top: 1.2rem;
|
||||
color: $item-label-color;
|
||||
font-size: 15px;
|
||||
}
|
||||
.payment-proposal-to {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
padding: 5px 15px;
|
||||
background-color: #f5f5f5;
|
||||
padding: 8px 13px;
|
||||
background-color: rgba(203, 203, 203, .13);
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
|
||||
img {
|
||||
padding: .2rem;
|
||||
padding-left: 0;
|
||||
border-right: 1px solid #e4e4e4;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
i {
|
||||
color: grey;
|
||||
position: inherit;
|
||||
|
@ -49,18 +104,115 @@
|
|||
}
|
||||
contact {
|
||||
margin-left: 15px;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 5px;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.wallet {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: .2rem 0;
|
||||
i {
|
||||
padding: 0;
|
||||
}
|
||||
img {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
padding: 2px;
|
||||
margin-right: .7rem;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
border: 0;
|
||||
&:nth-child(2) {
|
||||
border-top: 1px solid $item-border-color;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom: 1px solid $item-border-color;
|
||||
}
|
||||
padding: 17px $item-lateral-padding;
|
||||
|
||||
> * {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&__icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-width: 40px;
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
margin-right: .5rem;
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
background: #e8e8e8;
|
||||
height: 100px;
|
||||
width: 1px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) translateY(-100%);
|
||||
top: 0;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
background: #e8e8e8;
|
||||
height: 100px;
|
||||
width: 1px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) translateY(100%);
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
> div {
|
||||
border: 3px solid #09C286;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
height: 26px;
|
||||
width: 26px;
|
||||
font-size: 13px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: 600;
|
||||
vertical-align: middle;
|
||||
color: #09C286;
|
||||
|
||||
&.rejected {
|
||||
background: #E15061;
|
||||
border-color: #E15061;
|
||||
color: #FFFFFF;
|
||||
font-family: "Roboto-Bold";
|
||||
font-size: 19px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__label {
|
||||
flex-grow: 1;
|
||||
|
||||
> .action {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
> .name {
|
||||
color: #aaa;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.accept-slide {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
background-color: #f5f5f5;
|
||||
.proposal-deletion-help {
|
||||
color: $item-label-color;
|
||||
padding: 1rem 2rem;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,9 +32,6 @@
|
|||
font-size: .8rem;
|
||||
i {
|
||||
font-size: 1.3rem;
|
||||
&.ion-social-bitcoin-outline {
|
||||
border-right: 1px solid rgb(228, 228, 228);
|
||||
}
|
||||
}
|
||||
}
|
||||
.bit-address {
|
||||
|
@ -111,6 +108,10 @@
|
|||
margin-bottom:1rem;
|
||||
}
|
||||
}
|
||||
.receive-tab-bitcoin-icon {
|
||||
border-right: 1px solid rgb(228, 228, 228);
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
|
|
|
@ -7,51 +7,13 @@ $scannerBackgroundColor: #060d2d;
|
|||
.bar-header {
|
||||
opacity: .9;
|
||||
}
|
||||
.zero-state-cta {
|
||||
padding-bottom: 6vh;
|
||||
}
|
||||
&-has-problems,
|
||||
&-loading-camera {
|
||||
background-color: $scannerBackgroundColor;
|
||||
}
|
||||
&-has-problems {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.zero-state {
|
||||
&-icon {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
padding: 13px;
|
||||
box-shadow: $subtle-box-shadow;
|
||||
background-color: #fff;
|
||||
}
|
||||
&-heading {
|
||||
font-size: 20px;
|
||||
margin: 1rem;
|
||||
}
|
||||
&-description {
|
||||
margin: 0 2rem 120px;
|
||||
opacity: .6;
|
||||
max-width: 300px;
|
||||
}
|
||||
&-tldr {
|
||||
margin: 1rem auto;
|
||||
}
|
||||
&-description,
|
||||
&-tldr {
|
||||
max-width: 300px;
|
||||
}
|
||||
&-cta {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding-bottom: 6vh;
|
||||
}
|
||||
}
|
||||
}
|
||||
&-loading-camera {
|
||||
height: 100%;
|
||||
width: 100%
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
#tab-send {
|
||||
.zero-state-cta {
|
||||
padding-bottom: 3vh;
|
||||
}
|
||||
.send-heading {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.bitcoin-address {
|
||||
border-top: none;
|
||||
padding-bottom: .5rem;
|
||||
@media(max-width: 480px) {
|
||||
input {
|
||||
font-size: 12px;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
@import "address-book";
|
||||
@import "wallet-backup-phrase";
|
||||
@import "address-book";
|
||||
@import "zero-state";
|
||||
@import "onboarding/onboarding";
|
||||
@import "includes/walletActivity";
|
||||
@import "includes/wallets";
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
.zero-state {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
&-icon {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
padding: 13px;
|
||||
box-shadow: $subtle-box-shadow;
|
||||
background-color: #fff;
|
||||
img {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
&-heading {
|
||||
font-size: 20px;
|
||||
margin: 1rem;
|
||||
}
|
||||
&-description {
|
||||
margin-top: 0;
|
||||
margin-left: 2rem;
|
||||
margin-right: 2rem;
|
||||
margin-bottom: 120px;
|
||||
opacity: .6;
|
||||
max-width: 300px;
|
||||
}
|
||||
&-tldr {
|
||||
margin: 1rem auto;
|
||||
}
|
||||
&-description,
|
||||
&-tldr {
|
||||
max-width: 300px;
|
||||
}
|
||||
&-cta {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="12px" height="16px" viewBox="0 0 12 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 40.1 (33804) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Bitcoin_Symbol</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.8">
|
||||
<g id="Address-(Bitcoin)" transform="translate(-11.000000, -12.000000)" fill="#5D5D5D">
|
||||
<g id="Items/Bitcoin-Address">
|
||||
<g id="Items/Bitcoin-Address-Copy">
|
||||
<path d="M19.6342548,15.1610219 L20.1628282,12.9767055 L18.8173687,12.6561808 L18.3048127,14.7930121 C17.9484261,14.7099131 17.5880351,14.6268141 17.2316485,14.5555864 L17.7442045,12.4187551 L16.3827276,12.0982304 L15.8541542,14.2825468 C15.5658415,14.2152762 15.2735244,14.163834 14.9852116,14.0965634 L13.1312004,13.6573258 L12.7908312,15.0700087 C12.7908312,15.0700087 13.7959215,15.2876489 13.7598824,15.3074344 C14.3044732,15.4419756 14.4085861,15.7941571 14.3885644,16.0632396 L13.7919172,18.5522523 C13.8279562,18.5680807 13.8760084,18.5680807 13.9280648,18.6036945 C13.8760084,18.5878661 13.8439736,18.5878661 13.7919172,18.5720378 L12.975031,22.0542813 C12.9069572,22.2204793 12.7347704,22.457905 12.3623664,22.374806 C12.3783838,22.3906344 11.3732935,22.1373803 11.3732935,22.1373803 L10.7366028,23.6687761 L12.4905054,24.0723998 C12.8148572,24.1554988 13.1392091,24.2227694 13.4435392,24.3098255 L12.9149658,26.5139274 L14.2604254,26.8344521 L14.7889988,24.6501356 C15.1654071,24.749063 15.5217937,24.8361191 15.8621629,24.9192181 L15.3335895,27.0877061 L16.6790491,27.4082308 L17.2076225,25.2041289 C19.5061158,25.6077526 21.2239794,25.4217691 21.9207352,23.3522085 C22.4813433,21.7020999 21.8686787,20.7603113 20.6433495,20.1390474 C21.5403225,19.9372355 22.1890262,19.3634568 22.3572087,18.1881996 C22.5774476,16.5737048 21.336101,15.7308436 19.6342548,15.1610219 Z M19.3299247,22.4737334 C18.937499,24.123842 16.1144366,23.2651524 15.2094549,23.0475122 L15.9062107,20.1192619 C16.8272098,20.3408592 19.7383678,20.7444829 19.3299247,22.4737334 L19.3299247,22.4737334 Z M19.7023287,18.1881996 C19.3459421,19.6839814 16.9953922,18.9637902 16.2305626,18.7778067 L16.8792663,16.122596 C17.6280786,16.3046223 20.078737,16.625147 19.7023287,18.1881996 L19.7023287,18.1881996 Z" id="Bitcoin_Symbol" transform="translate(16.559574, 19.753231) rotate(-13.000000) translate(-16.559574, -19.753231) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Bitcoin_Symbol" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 12 16" style="enable-background:new 0 0 12 16;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#5D5D5D;}
|
||||
</style>
|
||||
<path class="st0" d="M7.4,2.5l0-2.4L6,0.2l0,2.3c-0.4,0-0.8,0-1.2,0l0-2.3l-1.5,0l0,2.4c-0.3,0-0.6,0-0.9,0l-2,0l0,1.5
|
||||
c0,0,1.1,0,1,0c0.6,0,0.8,0.3,0.8,0.6l0,6.5c0,0.2-0.2,0.5-0.6,0.5c0,0-1.1,0-1.1,0l-0.3,1.7l1.9,0c0.4,0,0.7,0,1,0l0,2.4l1.5,0
|
||||
l0-2.4c0.4,0,0.8,0,1.2,0l0,2.3l1.5,0l0-2.4c2.5-0.1,4.2-0.7,4.4-3c0.2-1.8-0.7-2.6-2.1-3C10.5,7,11,6.2,10.9,5
|
||||
C10.7,3.3,9.3,2.7,7.4,2.5z M8.8,10.1c0,1.8-3.1,1.6-4.1,1.6l0-3.2C5.7,8.5,8.8,8.2,8.8,10.1L8.8,10.1z M8.2,5.6
|
||||
c0,1.6-2.6,1.4-3.4,1.4l0-2.9C5.6,4.2,8.2,3.9,8.2,5.6L8.2,5.6z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 939 B |
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="34px" height="34px" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 40.1 (33804) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Received</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Icons/Transaction/Send" transform="translate(-7.000000, -8.000000)">
|
||||
<g id="Icons/Send">
|
||||
<g id="icons/received">
|
||||
<g id="Received" transform="translate(24.244258, 24.883990) scale(-1, 1) rotate(-45.000000) translate(-24.244258, -24.883990) translate(7.244258, 7.883990)">
|
||||
<path d="M17.3272285,33.991292 C26.4399269,33.991292 33.8272285,26.6039904 33.8272285,17.491292 C33.8272285,8.37859367 26.4399269,0.991292046 17.3272285,0.991292046 C8.21453012,0.991292046 0.82722849,8.37859367 0.82722849,17.491292 C0.82722849,26.6039904 8.21453012,33.991292 17.3272285,33.991292 Z" id="Oval-204" fill="#F2F2F2" opacity="0.8"></path>
|
||||
<path d="M9.08046771,17.7310374 L25.550467,17.7310374 M15.140197,25.2788677 L7.74513693,17.8384337 L14.8830819,10.5152146" id="Line" stroke="#BEBEBE" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" transform="translate(16.647802, 17.897041) scale(1, -1) rotate(-135.000000) translate(-16.647802, -17.897041) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -29,7 +29,7 @@
|
|||
<span class="input-label" translate>Email</span>
|
||||
<input type="text"
|
||||
id="email"
|
||||
placeholder="name@example.com"
|
||||
placeholder="name@example.com"
|
||||
name="email"
|
||||
ng-model="addressbookEntry.email">
|
||||
</label>
|
||||
|
@ -54,7 +54,7 @@
|
|||
|
||||
<div class="padding">
|
||||
<button type="submit"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-click="add(addressbookEntry)"
|
||||
ng-disabled="!addressbookForm.$valid" translate>
|
||||
Save
|
||||
|
|
|
@ -52,9 +52,7 @@
|
|||
You haven’t added any contacts to your address book yet. Get started by adding your first one.
|
||||
</p>
|
||||
</div>
|
||||
<div class="row">
|
||||
<button class="button button-block button-positive col" ui-sref="tabs.addressbook.add" translate>Add Contact</button>
|
||||
</div>
|
||||
<button class="button button-standard button-primary" ui-sref="tabs.addressbook.add" translate>Add Contact</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
ng-click="sendTo()" translate>
|
||||
Send Money
|
||||
</button>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<div ng-if="!giftCards" class="m20t padding text-center">
|
||||
|
||||
<button class="button button-block button-positive" ui-sref="tabs.giftcards.amazon.buy">
|
||||
<button class="button button-standard button-primary" ui-sref="tabs.giftcards.amazon.buy">
|
||||
Buy now
|
||||
</button>
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
<div class="input-label" translate>In order to verify your wallet backup, please type your password.</div>
|
||||
<input type="text" id="passphrase" ng-model="data.passphrase" autocapitalize="off" spellcheck="false" autofocus/>
|
||||
</label>
|
||||
<button ng-disabled="!data.passphrase" class="button button-block button-positive" ng-click="goToStep(4);" translate>Confirm
|
||||
<button ng-disabled="!data.passphrase" class="button button-standard button-primary" ng-click="goToStep(4);" translate>Confirm
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<wallets ng-if="wallets[0]" wallets="wallets"></wallets>
|
||||
|
||||
<div class="padding">
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
ng-disabled="!formData.fiat"
|
||||
type="submit">
|
||||
Buy now
|
||||
|
@ -79,7 +79,7 @@
|
|||
<span ng-show="buy.giftCard.status == 'FAILURE'">
|
||||
This failure could not be recoverable. Request your refund from your list of cards
|
||||
</span>
|
||||
<button class="button button-block button-positive" ng-click="$root.go('amazon')">
|
||||
<button class="button button-standard button-primary" ng-click="$root.go('amazon')">
|
||||
Back
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
...
|
||||
</div>
|
||||
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
type="submit"
|
||||
ng-disabled="limits.transactDisabledPendingFirstTransaction || !buy.buyPrice.qty || buy.loading">
|
||||
Continue
|
||||
|
@ -101,7 +101,7 @@
|
|||
<input type="number" ng-model="twoFaCode" placeholder="2FA Code" required ignore-mouse-wheel>
|
||||
</label>
|
||||
</div>
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
type="submit" ng-disabled="buyForm.$invalid || buy.loading">
|
||||
Buy
|
||||
</button>
|
||||
|
@ -117,7 +117,7 @@
|
|||
A transfer has been initiated from your bank account. Your bitcoins should arrive to your wallet in 2-4 business days.
|
||||
</p>
|
||||
|
||||
<button class="button button-block button-positive" ui-sref="tabs.buyandsell.glidera">OK</button>
|
||||
<button class="button button-standard button-primary" ui-sref="tabs.buyandsell.glidera">OK</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<div ng-show="secret">
|
||||
<div class="text-center m10t" ng-if="isCordova">
|
||||
<button class="button button-outline button-positive"
|
||||
<button class="button button-outline button-primary"
|
||||
ng-click="shareSecret()">
|
||||
<i class="icon ion-ios-upload-outline"></i>
|
||||
<span translate>Share invitation</span>
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
</p>
|
||||
|
||||
<p class="m20t text-gray size-12">Connect your Glidera account to get started</p>
|
||||
|
||||
<button class="button button-block button-positive"
|
||||
ng-click="openExternalLink(glidera.getAuthenticateUrl(), 'Glidera authentication'); showOauthForm = true">
|
||||
Connect to Glidera
|
||||
|
@ -65,7 +64,7 @@
|
|||
</div>
|
||||
<div class="col">
|
||||
<input
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
type="submit"
|
||||
value="Get started"
|
||||
ng-disabled="oauthCodeForm.$invalid">
|
||||
|
|
|
@ -3,25 +3,11 @@
|
|||
<div class="popup-modal-header-img-warning popup-modal-header-img"></div>
|
||||
</div>
|
||||
<div class="popup-modal-content popup-modal-content-warning">
|
||||
<div class="text-center">
|
||||
<h5 translate>Backup Needed</h5>
|
||||
<p translate>Now is a good time to backup your wallet. If this device is lost, it is impossible to access your funds without a backup.</p>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<button
|
||||
class="button button-clear expand"
|
||||
ng-click="close()"
|
||||
translate>Not now
|
||||
</button>
|
||||
</div>
|
||||
<div class="col">
|
||||
<button
|
||||
class="button button-clear expand"
|
||||
ng-click="doBackup()"
|
||||
translate>Backup wallet now
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="popup-modal-heading" translate>Backup Needed</div>
|
||||
<div class="popup-modal-message" translate>Now is a good time to backup your wallet. If this device is lost, it is impossible to access your funds without a backup.</div>
|
||||
<button class="button button-clear" ng-click="doBackup()" translate>Backup now</button>
|
||||
<button class="button button-secondary button-clear" ng-click="close()" translate>Remind me later</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<button class="button button-block button-positive" ng-disabled="sendStatus">
|
||||
<button class="button button-standard button-primary" ng-disabled="sendStatus">
|
||||
<span ng-if="!sendStatus">
|
||||
<ng-transclude></ng-transclude>
|
||||
</span>
|
||||
|
|
|
@ -122,7 +122,7 @@
|
|||
</div> <!-- advanced -->
|
||||
</div> <!-- list -->
|
||||
|
||||
<button type="submit" class="button button-block button-positive"
|
||||
<button type="submit" class="button button-standard button-primary"
|
||||
ng-disabled="joinForm.$invalid || ((encrypt && !passwordSaved) || encrypt && ((join.seedSourceId == 'new' && !createPassphrase) || (join.seedSourceId == 'set' && !passphrase)))"
|
||||
translate>Join
|
||||
</button>
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
<div class="list">
|
||||
<div class="item item-icon-left" ng-show="btx.action == 'sent'">
|
||||
<i class="icon ion-social-bitcoin-outline"></i>
|
||||
<i class="icon icon-svg"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<div ng-if="!btx.hasMultiplesOutputs && btx.addressTo && btx.addressTo != 'N/A'" copy-to-clipboard="btx.addressTo">
|
||||
<span ng-if="btx.merchant">
|
||||
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
|
||||
|
@ -90,7 +90,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item" ng-if="btx.action != 'received' && btx.feeLevel" copy-to-clipboard="btx.feeStr">
|
||||
<div class="item" ng-if="btx.action != 'received' && btx.feeStr" copy-to-clipboard="btx.feeStr">
|
||||
{{'Fee'|translate}}: {{btx.feeStr}}
|
||||
<span class="item-note">
|
||||
<span class="text-warning" ng-show="!btx.confirmations || btx.confirmations == 0" translate>
|
||||
|
@ -102,7 +102,7 @@
|
|||
<span class="label gray radius" ng-show="btx.safeConfirmed">
|
||||
{{btx.safeConfirmed}}
|
||||
</span>
|
||||
<span translate>Confirmations</span>
|
||||
<span ng-show="btx.confirmations && btx.confirmations > 0" translate>Confirmations</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<ion-modal-view id="txp-details" ng-controller="txpDetailsController" ng-init="init()">
|
||||
<ion-header-bar align-title="center" class="bar-royal" ng-style="{'background-color': wallet.color}">
|
||||
<ion-header-bar align-title="center" class="bar-royal">
|
||||
<button class="button button-clear" ng-click="close()">
|
||||
Close
|
||||
</button>
|
||||
|
@ -11,15 +11,15 @@
|
|||
</button>
|
||||
</ion-header-bar>
|
||||
|
||||
<ion-content ng-init="updateCopayerList()" ng-class="{'slide-to-pay': tx.pendingForUs && canSign && isCordova}">
|
||||
<ion-content ng-init="updateCopayerList()" ng-class="{'slide-to-pay': tx.pendingForUs && canSign && !hasClick}">
|
||||
<div class="list">
|
||||
<div class="item head">
|
||||
<div class="sending-label">
|
||||
<i class="icon ion-arrow-up-c"></i>
|
||||
<img src="img/sending-icon.svg">
|
||||
<span translate>Sending</span>
|
||||
</div>
|
||||
<div class="amount-label">
|
||||
<div class="amount">{{tx.amountStr}}</div>
|
||||
<div class="amount">{{displayAmount}} <span class="unit">{{displayUnit}}</span></div>
|
||||
<div class="alternative" ng-show="tx.alternativeAmountStr">{{tx.alternativeAmountStr}}</div>
|
||||
</div>
|
||||
|
||||
|
@ -50,9 +50,9 @@
|
|||
|
||||
<div class="info">
|
||||
<div class="item">
|
||||
<span translate>To</span>
|
||||
<span class="label" translate>To</span>
|
||||
<span class="payment-proposal-to" copy-to-clipboard="tx.toAddress">
|
||||
<i class="icon ion-social-bitcoin"></i>
|
||||
<img src="img/icon-bitcoin-small.svg">
|
||||
<contact ng-if="!tx.hasMultiplesOutputs" class="ellipsis" address="{{tx.toAddress}}"></contact>
|
||||
<span ng-if="tx.hasMultiplesOutputs" translate>Multiple recipients</span>
|
||||
</span>
|
||||
|
@ -71,18 +71,18 @@
|
|||
</div>
|
||||
|
||||
<div class="item">
|
||||
{{'From'|translate}}
|
||||
<span class="item-note">
|
||||
<i class="icon big-icon-svg right">
|
||||
<span class="label" translate>From</span>
|
||||
<div class="wallet">
|
||||
<i class="icon big-icon-svg">
|
||||
<img src="img/icon-wallet.svg" ng-style="{'background-color': wallet.color}" class="bg"/>
|
||||
</i>
|
||||
<div class="m10t m55r">{{wallet.name}}</div>
|
||||
</span>
|
||||
<div>{{wallet.name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
{{'Created by'|translate}}
|
||||
<div class="item single-line">
|
||||
<span class="label" translate>Created by</span>
|
||||
<span class="item-note">
|
||||
{{tx.creatorName}} <time>{{ (tx.ts || tx.createdOn ) * 1000 | amDateFormat:'MM/DD/YYYY HH:mm a'}}</time>
|
||||
{{tx.creatorName}} <time>{{ (tx.ts || tx.createdOn ) * 1000 | amDateFormat:'MM/DD/YYYY hh:mm a'}}</time>
|
||||
</span>
|
||||
</div>
|
||||
<div class="item" ng-show="tx.message">
|
||||
|
@ -91,8 +91,8 @@
|
|||
{{tx.message}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
{{'Fee'|translate}}
|
||||
<div class="item single-line">
|
||||
<span class="label" translate>Fee</span>
|
||||
<span class="item-note">
|
||||
{{tx.feeStr}}
|
||||
</span>
|
||||
|
@ -129,20 +129,20 @@
|
|||
</div>
|
||||
<div ng-if="actionList[0]">
|
||||
<div class="item item-divider" translate>Timeline</div>
|
||||
|
||||
<div class="item" ng-class="{'action-created' : a.type == 'created' || a.type == 'accept', 'action-rejected' : a.type == 'reject'}" ng-repeat="a in actionList track by $index">
|
||||
<div class="row">
|
||||
<div class="col col-10">
|
||||
<span id="timeline-icon">{{$index + 1}}</span>
|
||||
<div class="item timeline-item" ng-class="{'action-created' : a.type == 'created' || a.type == 'accept', 'action-rejected' : a.type == 'reject'}" ng-repeat="a in actionList | orderBy: 'time' track by $index">
|
||||
<div class="timeline-content">
|
||||
<div class="timeline-content__icon">
|
||||
<div class="rejected" ng-if="a.type === 'reject'">!</div>
|
||||
<div ng-if="a.type !== 'reject'">{{$index + 1}}</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div>{{a.description}}</div>
|
||||
<div>
|
||||
<span>{{a.by}}</span>
|
||||
<span class="item-note">
|
||||
<time>{{ a.time * 1000 | amDateFormat:'MM/DD/YYYY HH:mm a'}}</time>
|
||||
</span>
|
||||
</div>
|
||||
<div class="timeline-content__label">
|
||||
<div class="action">{{a.description}}</div>
|
||||
<div class="name">{{a.by}}</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class="item-note">
|
||||
<time>{{ a.time * 1000 | amDateFormat:'hh:mm a'}}</time>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -157,7 +157,7 @@
|
|||
Click to accept
|
||||
</click-to-accept>
|
||||
<div class="m30t text-center" ng-if="tx.canBeRemoved || (tx.status == 'accepted' && !tx.broadcastedOn)">
|
||||
<div class="size-12 padding" ng-show="!tx.isGlidera && isShared" translate>
|
||||
<div class="size-12 padding proposal-deletion-help" ng-show="!tx.isGlidera && isShared" translate>
|
||||
* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created.
|
||||
</div>
|
||||
<button class="button button-assertive button-clear" ng-click="remove()" ng-disabled="loading">
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
|
||||
<button type="submit"
|
||||
ng-disabled="scanning || !scannedKey"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-style="{'background-color': wallet.color}"
|
||||
translate>Scan Wallet Funds
|
||||
</button>
|
||||
|
@ -74,7 +74,7 @@
|
|||
<button
|
||||
ng-show="balanceSat > 0"
|
||||
ng-disabled="sending"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-style="{'background-color': wallet.color}"
|
||||
ng-click="sweepWallet()"
|
||||
translate>Sweep Wallet
|
||||
|
@ -82,7 +82,7 @@
|
|||
|
||||
<button
|
||||
ng-show="balanceSat <= 0 && scanned"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-style="{'background-color': wallet.color}"
|
||||
ng-click="init()"
|
||||
translate>Scan Again
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</label>
|
||||
</div>
|
||||
<button type="submit"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="aliasForm.$invalid" translate>
|
||||
Save
|
||||
</button>
|
||||
|
|
|
@ -15,6 +15,6 @@
|
|||
</a>
|
||||
</label>
|
||||
</div>
|
||||
<button class="button button-block button-positive" ng-click="save()" translate>Save</button>
|
||||
<button class="button button-standard button-primary" ng-click="save()" translate>Save</button>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</label>
|
||||
</div>
|
||||
<button type="submit"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="emailForm.$invalid" translate>
|
||||
Save
|
||||
</button>
|
||||
|
|
|
@ -98,10 +98,10 @@
|
|||
<div class="padding text-center" translate>
|
||||
Only Main (not change) addresses are shown. The addresses on this list were not verified locally at this time.
|
||||
</div>
|
||||
<button class="button button-block button-positive" ng-click="scan()" translate>
|
||||
<button class="button button-standard button-primary" ng-click="scan()" translate>
|
||||
Scan addresses for funds
|
||||
</button>
|
||||
<button class="button button-block button-positive" ng-show="isCordova" ng-click="sendAddrs()" translate>
|
||||
<button class="button button-standard button-primary" ng-show="isCordova" ng-click="sendAddrs()" translate>
|
||||
Send addresses by email
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<button class="button button-block button-positive" copy-to-clipboard="prepare()">
|
||||
<button class="button button-standard button-primary" style="margin-top: 1rem" copy-to-clipboard="prepare()">
|
||||
<i class="icon ion-clipboard"></i>
|
||||
<span translate>Copy to clipboard</span>
|
||||
</button>
|
||||
<button class="button button-block button-positive" ng-show="isCordova" ng-click="sendLogs()">
|
||||
<button class="button button-standard button-secondary" ng-show="isCordova" ng-click="sendLogs()">
|
||||
<i class="icon ion-ios-email-outline"></i>
|
||||
<span translate>Send by email</span>
|
||||
</button>
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
...
|
||||
</div>
|
||||
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
type="submit"
|
||||
ng-disabled="limits.transactDisabledPendingFirstTransaction || !sell.sellPrice.qty">
|
||||
Continue
|
||||
|
@ -101,7 +101,7 @@
|
|||
<input type="number" ng-model="twoFaCode" placeholder="2FA Code" required ignore-mouse-wheel>
|
||||
</label>
|
||||
</div>
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
type="submit"
|
||||
ng-disabled="sellForm.$invalid ">
|
||||
Sell
|
||||
|
@ -118,7 +118,7 @@
|
|||
A transfer has been initiated to your bank account and should arrive in 4-6 business days.
|
||||
</p>
|
||||
|
||||
<button class="button button-block button-positive" ui-sref="tabs.buyandsell.glidera">OK</button>
|
||||
<button class="button button-standard button-primary" ui-sref="tabs.buyandsell.glidera">OK</button>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
|
|
@ -98,11 +98,10 @@
|
|||
</div> <!-- advanced -->
|
||||
</div> <!-- list -->
|
||||
|
||||
<button type="submit" class="button button-block button-positive"
|
||||
<button type="submit" class="button button-standard button-primary"
|
||||
ng-disabled="setupForm.$invalid || ((encrypt && !formData.passwordSaved) || encrypt && ((seedSource.id == 'new' && !formData.createPassphrase) || (seedSource.id == 'set' && !formData.passphrase)))">
|
||||
<span translate>Create new wallet</span>
|
||||
</button>
|
||||
</form>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
||||
|
|
|
@ -128,12 +128,10 @@
|
|||
</div> <!-- advanced -->
|
||||
</div> <!-- list -->
|
||||
|
||||
<button type="submit" class="button button-block button-positive"
|
||||
<button type="submit" class="button button-standard button-primary"
|
||||
ng-disabled="setupForm.$invalid || ((encrypt && !formData.passwordSaved) || encrypt && ((seedSource.id == 'new' && !formData.createPassphrase) || (seedSource.id == 'set' && !formData.passphrase)))">
|
||||
<span translate>Create {{formData.requiredCopayers}}-of-{{formData.totalCopayers}} wallet</span>
|
||||
</button>
|
||||
</form>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
<button
|
||||
ng-click="downloadWalletBackup()"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-show="!isSafari && !isCordova">
|
||||
|
@ -59,7 +59,7 @@
|
|||
|
||||
<button
|
||||
ng-click="viewWalletBackup()"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-show="isSafari && !isCordova">
|
||||
|
@ -69,13 +69,13 @@
|
|||
|
||||
<div ng-show="isCordova">
|
||||
<h4 translate>Export options</h4>
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-click="copyWalletBackup()">
|
||||
<i class="fi-clipboard-pencil"></i>
|
||||
<span translate>Copy to clipboard</span></button>
|
||||
<button class="button button-block button-positive" ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
<button class="button button-standard button-primary" ng-disabled="(!formData.password || formData.password != formData.repeatpassword)"
|
||||
ng-style="{'background-color':wallet.color}"
|
||||
ng-click="sendWalletBackup()"><i class="fi-mail"></i>
|
||||
<span translate>Send by email</span></button>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="button button-block button-positive" ng-disabled="importForm.$invalid || !formData.password" translate>
|
||||
<button type="submit" class="button button-standard button-primary" ng-disabled="importForm.$invalid || !formData.password" translate>
|
||||
Import backup
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button button-block button-positive">
|
||||
<button translate type="submit" class="button button-standard button-primary">
|
||||
Import
|
||||
</button>
|
||||
</div> <!-- seedoptions show -->
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</div>
|
||||
|
||||
<button type="submit"
|
||||
class="button button-block button-positive"
|
||||
class="button button-standard button-primary"
|
||||
ng-disabled="importForm12.$invalid" translate>Import
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<ion-view id="tab-receive">
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{'Receive' | translate}}</ion-nav-title>
|
||||
<ion-nav-buttons side="secondary">
|
||||
<button class="button button-clear" ng-click="checkTips(true)">
|
||||
<i class="ion-help-circled"></i>
|
||||
</button>
|
||||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div class="list card padding text-center" ng-if="!wallets[0]">
|
||||
|
@ -23,7 +18,7 @@
|
|||
<div class="row border-top">
|
||||
<div class="col col-90 center-block bit-address text-center">
|
||||
<div class="item item-icon-left">
|
||||
<i class="icon ion-social-bitcoin-outline"></i>
|
||||
<i class="icon icon-svg receive-tab-bitcoin-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<span class="bit-address-gen-address">...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -38,13 +33,13 @@
|
|||
<span translate>All signing devices must be added to this multisig wallet before bitcoin addresses can be created.</span>
|
||||
</div>
|
||||
<div>
|
||||
<button class="button button-block button-positive" ng-click="goCopayers()" translate>Open wallet</button>
|
||||
<button class="button button-standard button-primary" ng-click="goCopayers()" translate>Open wallet</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-top">
|
||||
<div class="col col-90 center-block bit-address text-center">
|
||||
<div class="item item-icon-left">
|
||||
<i class="icon ion-social-bitcoin-outline"></i>
|
||||
<i class="icon icon-svg receive-tab-bitcoin-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<span class="bit-address-gen-address" ng-if="!generatingAddress" translate>address not yet available</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -81,7 +76,7 @@
|
|||
<div class="row border-top">
|
||||
<div class="col col-90 center-block bit-address text-center">
|
||||
<div class="item item-icon-left">
|
||||
<i class="icon ion-social-bitcoin-outline"></i>
|
||||
<i class="icon icon-svg receive-tab-bitcoin-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<span class="bit-address-gen-address" ng-if="generatingAddress">...</span>
|
||||
<span class="bit-address-gen-address" ng-if="!generatingAddress" copy-to-clipboard="addr">{{addr}}</span>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</ion-nav-buttons>
|
||||
</ion-nav-bar>
|
||||
<ion-content scroll="false">
|
||||
<div class="ng-hide" id="tab-scan-has-problems" ng-show="currentState === scannerStates.unauthorized || currentState === scannerStates.denied || currentState === scannerStates.unavailable">
|
||||
<div class="ng-hide zero-state" id="tab-scan-has-problems" ng-show="currentState === scannerStates.unauthorized || currentState === scannerStates.denied || currentState === scannerStates.unavailable">
|
||||
<i class="icon zero-state-icon">
|
||||
<img src="img/tab-icons/ico-receive.svg"/>
|
||||
</i>
|
||||
|
|
|
@ -2,25 +2,38 @@
|
|||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{'Send' | translate}}</ion-nav-title>
|
||||
</ion-nav-bar>
|
||||
|
||||
<ion-content>
|
||||
<div class="item item-heading" translate>Recipient</div>
|
||||
<ion-content scroll="false">
|
||||
<div class="ng-hide zero-state" ng-show="!hasFunds">
|
||||
<i class="icon zero-state-icon">
|
||||
<img src="img/tab-icons/ico-send-selected.svg"/>
|
||||
</i>
|
||||
<div class="zero-state-heading" translate>Start sending bitcoin</div>
|
||||
<div class="zero-state-description" ng-show="hasWallets" translate>To get started, buy bitcoin or share your address. You can receive bitcoin from any wallet or service.</div>
|
||||
<div class="zero-state-description" ng-show="!hasWallets" translate>To get started, you'll need to create a bitcoin wallet and get some bitcoin.</div>
|
||||
<div class="zero-state-cta">
|
||||
<button class="button button-standard button-primary" ng-click="buyBitcoin()" ng-show="hasWallets">Buy Bitcoin</button>
|
||||
<button class="button button-standard button-primary" ng-click="createWallet()" ng-show="!hasWallets">Create bitcoin wallet</button>
|
||||
<button class="button button-standard button-secondary" ui-sref="tabs.receive" ng-show="hasWallets">Show bitcoin address</button>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
<ion-content class="ng-hide has-funds" ng-show="hasFunds">
|
||||
<div class="item item-heading send-heading" translate>Recipient</div>
|
||||
<label class="item item-input bitcoin-address">
|
||||
<i class="icon ion-social-bitcoin placeholder-icon"></i>
|
||||
<i class="icon icon-svg placeholder-icon"><img src="img/icon-bitcoin-symbol.svg"></i>
|
||||
<div class="qr-scan-icon" ng-style="{'width': '100%'}">
|
||||
<a ui-sref="tabs.scan" ng-style="{'top': '6px'}"><i class="icon ion-qr-scanner"></i></a>
|
||||
<input type="text"
|
||||
placeholder="{{'Search or enter bitcoin address' | translate}}"
|
||||
ng-model="formData.search"
|
||||
ng-change="findContact(formData.search)"
|
||||
ng-model-onblur>
|
||||
<a ui-sref="tabs.scan" ng-style="{'top': '6px'}">
|
||||
<i class="icon ion-qr-scanner"></i>
|
||||
</a>
|
||||
<input type="text" placeholder="{{'Search or enter bitcoin address' | translate}}" ng-model="formData.search" ng-change="findContact(formData.search)" ng-model-onblur>
|
||||
</div>
|
||||
</label>
|
||||
|
||||
<div class="card">
|
||||
<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>
|
||||
<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-if="!hasContacts" ui-sref="tabs.send.addressbook">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class="card">
|
||||
<div class="item item-text-wrap" ng-include="'views/includes/terms.html'"></div>
|
||||
</div>
|
||||
<button class="button button-block button-positive"
|
||||
<button class="button button-standard button-primary"
|
||||
ng-show="lang != 'en'"
|
||||
ng-click="openExternalLink(disclaimerUrl, 'Bitpay disclaimer')" translate>
|
||||
Official English Disclaimer
|
||||
|
|