Merge remote-tracking branch 'origin/wallet/task/514' into wallet/task/427
This commit is contained in:
commit
01a7024b52
61 changed files with 3583 additions and 924 deletions
|
|
@ -318,5 +318,33 @@ div.slide-success__background.fill-screen {
|
|||
display: block;
|
||||
float: left;
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.bitpay-banner {
|
||||
background: #1A3A8B;
|
||||
padding: 10px;
|
||||
box-shadow: 0px 5px 10px 0px #cccccc;
|
||||
height: 5em;
|
||||
}
|
||||
|
||||
.bitpay-logo {
|
||||
display: block;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
height: 4em;
|
||||
}
|
||||
|
||||
.egifter-banner {
|
||||
background: #066EAA;
|
||||
padding: 10px;
|
||||
box-shadow: 0px 5px 10px 0px #cccccc;
|
||||
height: 5em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.egifter-logo {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
height: 4em;
|
||||
}
|
||||
|
|
|
|||
531
www/css/main.css
531
www/css/main.css
|
|
@ -10037,6 +10037,11 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
|
|||
.big-icon-svg.theme-circle > .bg.icon-faucet {
|
||||
background-image: url("../img/icon-faucet.svg");
|
||||
background-size: 70%; }
|
||||
.big-icon-svg.theme-circle > .bg.icon-wallet {
|
||||
background-color: #FAB915;
|
||||
background-image: url("../img/icon-wallet.svg");
|
||||
border: none;
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3) inset; }
|
||||
.big-icon-svg.theme-circle-services > .bg {
|
||||
border: 1px solid #191919; }
|
||||
.big-icon-svg.theme-circle-community > .bg {
|
||||
|
|
@ -10077,7 +10082,7 @@ ion-view.deflash-blue:before, ion-view#view-amount:before, ion-view#view-confirm
|
|||
.onboarding .button.button-light.button-standard,
|
||||
.onboarding .button.button-white.button-standard,
|
||||
.onboarding .button.button-green.button-standard,
|
||||
.onboarding .button.button-assertive.button-standard {
|
||||
.onboarding .button.button-assertive.button-standard, #shapeshift .button-shapeshift {
|
||||
width: 85%;
|
||||
max-width: 300px;
|
||||
margin-left: auto;
|
||||
|
|
@ -10287,6 +10292,15 @@ qrcode {
|
|||
top: 50%;
|
||||
left: 50%; }
|
||||
|
||||
.third-party-notice {
|
||||
font-size: 12px;
|
||||
margin: 0px 14px;
|
||||
font-weight: 600;
|
||||
color: #6F6F70; }
|
||||
@media (min-width: 768px) {
|
||||
.third-party-notice {
|
||||
text-align: center; } }
|
||||
|
||||
.tabs .tab-item .icon {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
|
|
@ -10344,7 +10358,7 @@ qrcode {
|
|||
padding: 10px; }
|
||||
|
||||
#view-amount {
|
||||
background: #494949; }
|
||||
background: #f2f2f2; }
|
||||
#view-amount .recipient-label {
|
||||
font-size: 14px;
|
||||
padding-bottom: 0;
|
||||
|
|
@ -10537,6 +10551,16 @@ qrcode {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-header-footer {
|
||||
flex: 1 1 auto;
|
||||
min-height: 20px; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-header-footer .warning {
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
padding: 0 6px 6px 6px;
|
||||
text-align: center; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-header-footer__max {
|
||||
float: right; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool {
|
||||
flex: 0 1 auto; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input {
|
||||
|
|
@ -10548,53 +10572,56 @@ qrcode {
|
|||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 1.8em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 2.1em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 2.4em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 1.6em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 1.8em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 2em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 0.9em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 1.3em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 1.4em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
background: none;
|
||||
line-height: 1;
|
||||
box-sizing: content-box;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0;
|
||||
height: 1em;
|
||||
margin-right: 5px;
|
||||
font-family: 'ProximaNova'; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit,
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
line-height: 1em; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount {
|
||||
color: #333;
|
||||
font-weight: bold; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
margin-right: 5px;
|
||||
word-break: break-all; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 1.8em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 2.1em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
font-size: 2.4em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 1.6em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 1.8em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.long .primary-amount-display {
|
||||
font-size: 2em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 0.9em; }
|
||||
@media (min-width: 375px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 1.3em; } }
|
||||
@media (min-width: 414px) {
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long input, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .unit, #view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount.very-long .primary-amount-display {
|
||||
font-size: 1.4em; } }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount input {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
background: none;
|
||||
line-height: 1;
|
||||
box-sizing: content-box;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0;
|
||||
height: 1em;
|
||||
margin-right: 5px;
|
||||
font-family: 'ProximaNova'; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .unit,
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
line-height: 1em; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .primary-amount .primary-amount-display {
|
||||
margin-right: 5px;
|
||||
word-break: break-all; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .alternative-amount {
|
||||
color: #6F6F70; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .switch-currencies {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
|
|
@ -10603,20 +10630,40 @@ qrcode {
|
|||
padding: 15px; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-tool-input .switch-currencies img {
|
||||
width: 18px; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-actions {
|
||||
margin-top: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-actions .button {
|
||||
flex: 1 1 auto;
|
||||
line-height: 1.2em; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-actions .button + .button {
|
||||
margin-left: 10px; }
|
||||
#view-amount .scroll-content .send-amount .send-amount-tool .send-amount-actions .button span {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center; }
|
||||
#view-amount .scroll-content .send-amount-extras {
|
||||
display: flex;
|
||||
flex: 0 0 auto;
|
||||
/* So that if only one item is present, it appears on the right. */
|
||||
flex-direction: row-reverse;
|
||||
font-size: 12px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 14px; }
|
||||
#view-amount .scroll-content .send-amount-extras .available-funds {
|
||||
color: #6F6F70; }
|
||||
#view-amount .scroll-content .send-amount-extras .warning {
|
||||
color: #b7664d; }
|
||||
#view-amount .scroll-content .send-amount-extras .extra,
|
||||
#view-amount .scroll-content .send-amount-extras button.extra {
|
||||
/*display: flex;*/
|
||||
flex: 0 1 auto; }
|
||||
#view-amount .scroll-content .send-amount-extras button.extra {
|
||||
background: none;
|
||||
border: none;
|
||||
color: #000;
|
||||
font-family: 'ProximaNova';
|
||||
font-size: 14px;
|
||||
line-height: normal;
|
||||
min-height: auto;
|
||||
min-width: auto;
|
||||
padding: 0; }
|
||||
#view-amount .scroll-content .send-amount-extras .button .icon:before {
|
||||
font-size: 14px;
|
||||
line-height: normal; }
|
||||
#view-amount .scroll-content .send-amount-extras .button span {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center; }
|
||||
#view-amount .scroll-content .button.no-margin {
|
||||
margin: 0; }
|
||||
#view-amount .scroll-content .notification-warning {
|
||||
|
|
@ -10628,26 +10675,39 @@ qrcode {
|
|||
line-height: 1.4em;
|
||||
margin-bottom: 20px; }
|
||||
#view-amount .scroll-content .keypad-container {
|
||||
position: relative; }
|
||||
position: relative;
|
||||
font-size: 18px;
|
||||
line-height: 2em; }
|
||||
@media (min-height: 667px) {
|
||||
#view-amount .scroll-content .keypad-container {
|
||||
font-size: 24px; } }
|
||||
@media (max-height: 480px) {
|
||||
#view-amount .scroll-content .keypad-container {
|
||||
font-size: 12px; } }
|
||||
#view-amount .scroll-content .keypad-container .sendmax {
|
||||
background: #262424; }
|
||||
#view-amount .scroll-content .keypad-container .sendmax .button {
|
||||
color: white;
|
||||
background: black;
|
||||
border: 1px solid #262424;
|
||||
border-radius: 0;
|
||||
font-size: 0.8em;
|
||||
line-height: 2em;
|
||||
width: 100%; }
|
||||
#view-amount .scroll-content .keypad-container .sendmax .button .available-funds-amount {
|
||||
color: #C9C9C9; }
|
||||
#view-amount .scroll-content .keypad-container .sendmax .button:active {
|
||||
background-color: #445; }
|
||||
#view-amount .scroll-content .keypad-container .keypad {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-weight: lighter;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
color: #667; }
|
||||
@media (min-height: 667px) {
|
||||
#view-amount .scroll-content .keypad-container .keypad {
|
||||
font-size: 24px; } }
|
||||
color: #fff; }
|
||||
#view-amount .scroll-content .keypad-container .keypad .row {
|
||||
padding: 0 !important;
|
||||
margin: 0 !important; }
|
||||
#view-amount .scroll-content .keypad-container .keypad .col {
|
||||
line-height: 38px; }
|
||||
@media (min-height: 667px) {
|
||||
#view-amount .scroll-content .keypad-container .keypad .col {
|
||||
line-height: 45px; } }
|
||||
#view-amount .scroll-content .keypad-container .keypad .row:last-child .col {
|
||||
padding-bottom: 10px; }
|
||||
#view-amount .scroll-content .keypad-container .keypad .operator {
|
||||
|
|
@ -10666,14 +10726,20 @@ qrcode {
|
|||
background-color: #eaeaea; }
|
||||
#view-amount .scroll-content .keypad-container .keypad .digit {
|
||||
cursor: pointer;
|
||||
border-top: 1px solid #f2f2f2;
|
||||
border-left: 1px solid #f2f2f2;
|
||||
background-color: #000;
|
||||
border: 1px solid #262424;
|
||||
transition: all 0.1s ease; }
|
||||
#view-amount .scroll-content .keypad-container .keypad .digit:active {
|
||||
background-color: #f2f2f2; }
|
||||
@media (max-height: 480px) {
|
||||
#view-amount .scroll-content .keypad-container .keypad {
|
||||
font-size: 12px; } }
|
||||
background-color: #445; }
|
||||
#view-amount .scroll-content .button-primary {
|
||||
background-color: #fab915;
|
||||
border-radius: 0;
|
||||
font-weight: bold; }
|
||||
#view-amount .scroll-content .button-primary[disabled] {
|
||||
background-color: #667;
|
||||
opacity: 1; }
|
||||
#view-amount .warning {
|
||||
color: #b7664d; }
|
||||
#view-amount ion-content {
|
||||
margin-bottom: constant(safe-area-inset-bottom);
|
||||
/* iOS 11.0 */
|
||||
|
|
@ -11113,7 +11179,9 @@ qrcode {
|
|||
#tab-send .send-wrapper .buttons .button-clipboard-paste.contains-address .icon, #tab-send .send-wrapper .buttons .button-clipboard-paste.contains-content .icon {
|
||||
background: url(../img/icon-clipboard-paste-white.svg); }
|
||||
#tab-send .send-wrapper .buttons .button-clipboard-paste.contains-address.contains-address .address, #tab-send .send-wrapper .buttons .button-clipboard-paste.contains-content.contains-address .address {
|
||||
display: inline; }
|
||||
display: inline;
|
||||
border: none;
|
||||
background-color: transparent; }
|
||||
#tab-send .send-wrapper .buttons .button-clipboard-paste.contains-address.contains-address .non-address, #tab-send .send-wrapper .buttons .button-clipboard-paste.contains-content.contains-address .non-address {
|
||||
display: none; }
|
||||
#tab-send .send-wrapper .buttons .button span {
|
||||
|
|
@ -11237,6 +11305,61 @@ qrcode {
|
|||
#tab-send #tab-send-contacts.ios {
|
||||
height: calc(100vh - 270px - 50px - 44px - 18px); } }
|
||||
|
||||
#wallet-origin-destination .header--request {
|
||||
padding: 30px 24px;
|
||||
width: 100%;
|
||||
height: 139px;
|
||||
background-color: #fff; }
|
||||
#wallet-origin-destination .header--request__title {
|
||||
width: 46px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.4px;
|
||||
color: #000000; }
|
||||
#wallet-origin-destination .header--request__amount {
|
||||
font-size: 29px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.7px;
|
||||
color: #000000;
|
||||
margin: 11px 0 2px; }
|
||||
#wallet-origin-destination .header--request__amount-alt {
|
||||
opacity: 0.45;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.4px;
|
||||
color: #000000; }
|
||||
|
||||
#wallet-origin-destination .wallets-header {
|
||||
margin: 20px 14px 0px; }
|
||||
#wallet-origin-destination .wallets-header .title {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #445;
|
||||
margin-bottom: -12px; }
|
||||
|
||||
#wallet-origin-destination .card {
|
||||
font-size: 12px;
|
||||
margin: 20px 14px 0px; }
|
||||
#wallet-origin-destination .card .item-heading {
|
||||
font-weight: 600; }
|
||||
#wallet-origin-destination .card .item-heading .subtitle {
|
||||
font-size: 12px; }
|
||||
#wallet-origin-destination .card-insufficient .wallet {
|
||||
opacity: 0.4; }
|
||||
#wallet-origin-destination .card-insufficient .item-heading {
|
||||
font-size: 12px; }
|
||||
#wallet-origin-destination .card-insufficient .item-heading > div {
|
||||
display: inline-block;
|
||||
vertical-align: text-bottom; }
|
||||
#wallet-origin-destination .card-insufficient__dot {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #ec5959;
|
||||
border-radius: 8px;
|
||||
margin: 2px 6px 2px 2px; }
|
||||
|
||||
.settings .icon-bitpay {
|
||||
background-image: url("../img/icon-bitpay.svg"); }
|
||||
|
||||
|
|
@ -11906,6 +12029,73 @@ a.item {
|
|||
color: #667;
|
||||
font-size: 0.9em; }
|
||||
|
||||
#shapeshift .swap-image {
|
||||
width: auto;
|
||||
max-width: 400px;
|
||||
max-height: 25vh; }
|
||||
|
||||
#shapeshift .empty-case {
|
||||
padding-top: 5vh;
|
||||
text-align: center; }
|
||||
#shapeshift .empty-case .item {
|
||||
border-style: none; }
|
||||
#shapeshift .empty-case > .title {
|
||||
font-size: 20px;
|
||||
color: #445;
|
||||
margin: 20px 10px; }
|
||||
#shapeshift .empty-case > .subtitle {
|
||||
font-size: 1rem;
|
||||
line-height: 1.5em;
|
||||
font-weight: 300;
|
||||
color: #6F6F70;
|
||||
margin: 20px 1em 2.5em; }
|
||||
#shapeshift .empty-case .big-icon-svg .bg.green {
|
||||
padding: 0 10px;
|
||||
box-shadow: none; }
|
||||
#shapeshift .empty-case .buttons {
|
||||
margin-top: 18px; }
|
||||
#shapeshift .empty-case .buttons .button {
|
||||
font-weight: bold;
|
||||
font-size: 19px; }
|
||||
#shapeshift .empty-case .button-first-contact img {
|
||||
height: 19px;
|
||||
width: 19px;
|
||||
margin-right: 6px;
|
||||
vertical-align: sub; }
|
||||
|
||||
#shapeshift .button-shapeshift {
|
||||
border-color: #FFF;
|
||||
background-color: #243F5D;
|
||||
color: #FFF;
|
||||
border: 0px;
|
||||
box-shadow: 0 2px 11px 0 #C1C1C1; }
|
||||
#shapeshift .button-shapeshift:hover {
|
||||
color: #FFF;
|
||||
text-decoration: none; }
|
||||
#shapeshift .button-shapeshift.active, #shapeshift .button-shapeshift.activated {
|
||||
border-color: #FFF;
|
||||
background-color: #606060; }
|
||||
#shapeshift .button-shapeshift.button-clear {
|
||||
border-color: transparent;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
color: #FFF; }
|
||||
#shapeshift .button-shapeshift.button-icon {
|
||||
border-color: transparent;
|
||||
background: none; }
|
||||
#shapeshift .button-shapeshift.button-outline {
|
||||
border-color: #C1C1C1;
|
||||
background: transparent;
|
||||
color: #C1C1C1; }
|
||||
#shapeshift .button-shapeshift.button-outline.active, #shapeshift .button-shapeshift.button-outline.activated {
|
||||
background-color: #C1C1C1;
|
||||
box-shadow: none;
|
||||
color: #fff; }
|
||||
|
||||
.header.shapeshift {
|
||||
background: url(../img/shapeshiftbg.jpg) center center repeat #28394d;
|
||||
opacity: 0.99; }
|
||||
|
||||
#bitpayCard {
|
||||
background: white; }
|
||||
#bitpayCard .status-label {
|
||||
|
|
@ -15062,10 +15252,191 @@ log-options #check-bar .checkbox-icon {
|
|||
#cash-scan a {
|
||||
cursor: pointer; }
|
||||
|
||||
#view-review {
|
||||
background-color: #494949; }
|
||||
#view-review slide-to-accept, #view-review slide-to-accept-success {
|
||||
margin-bottom: constant(safe-area-inset-bottom);
|
||||
/* iOS 11.0 */
|
||||
margin-bottom: env(safe-area-inset-bottom);
|
||||
/* iOS 11.2 */ }
|
||||
#view-review .fee-summary {
|
||||
position: absolute;
|
||||
bottom: 92px; }
|
||||
#view-review .shapeshift-banner, #view-review .bitpay-banner, #view-review .egifter-banner {
|
||||
box-shadow: none; }
|
||||
#view-review .warning {
|
||||
color: #b7664d; }
|
||||
|
||||
.gravatar {
|
||||
border-radius: 3px;
|
||||
display: inline-block; }
|
||||
|
||||
.elastic {
|
||||
width: 100%;
|
||||
font-size: 14px; }
|
||||
|
||||
/*
|
||||
* Extends Ionic v1 item
|
||||
*/
|
||||
.item.item-compact {
|
||||
padding: 11px 13px; }
|
||||
|
||||
.item.item-gutterless {
|
||||
padding: 0; }
|
||||
|
||||
.item .item-content.item-content-avatar {
|
||||
min-height: 69px;
|
||||
padding: 13px 11px 13px 68px; }
|
||||
.item .item-content.item-content-avatar > img:first-child,
|
||||
.item .item-content.item-content-avatar > i:first-child {
|
||||
position: absolute;
|
||||
max-width: 40px;
|
||||
max-height: 40px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 50%;
|
||||
left: 13px;
|
||||
top: 50%;
|
||||
padding: 0;
|
||||
transform: translate(0, -50%); }
|
||||
|
||||
.item .item-content.item-content-compact {
|
||||
min-height: 0;
|
||||
padding: 13px 11px; }
|
||||
|
||||
.item .item-content .highlight {
|
||||
color: #FAB915; }
|
||||
|
||||
.item .item-content + .item-content {
|
||||
padding-top: 0; }
|
||||
|
||||
/*
|
||||
* Extends Ionic v1 ion-content
|
||||
*/
|
||||
ion-content.bg-neutral {
|
||||
background-color: #F2F2F2; }
|
||||
|
||||
ion-content.padded-bottom-cta {
|
||||
bottom: 92px; }
|
||||
|
||||
ion-content.padded-bottom-cta-with-summary {
|
||||
bottom: 134px; }
|
||||
|
||||
.card.card-gutter-compact {
|
||||
margin: 10px 12px; }
|
||||
|
||||
.header {
|
||||
padding: 29px 12px 61px;
|
||||
background-color: #fab915;
|
||||
color: #FFFFFF; }
|
||||
.header.btc {
|
||||
background-color: #535353; }
|
||||
.header .title {
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
line-height: 1em;
|
||||
color: #FFFFFF;
|
||||
text-align: center; }
|
||||
.header .title + .content {
|
||||
margin-top: 23px; }
|
||||
.header .content {
|
||||
text-align: center; }
|
||||
.header .content p {
|
||||
margin: 0;
|
||||
line-height: 1em;
|
||||
font-size: 18px; }
|
||||
.header .content p.large {
|
||||
font-size: 29px;
|
||||
font-weight: 600; }
|
||||
.header .content p + p {
|
||||
margin-top: 8px; }
|
||||
|
||||
.content-frame.negative-top {
|
||||
margin-top: -40px; }
|
||||
.content-frame.negative-top .card:first-child {
|
||||
margin-top: 0; }
|
||||
|
||||
.address-frame {
|
||||
background-color: #F8F8F8;
|
||||
border: 0.5px solid #EDEBEB;
|
||||
border-radius: 3px;
|
||||
padding: 9px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis; }
|
||||
.address-frame.expanded {
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all; }
|
||||
.address-frame .prefix {
|
||||
color: #000000; }
|
||||
.address-frame .mid {
|
||||
color: #919191; }
|
||||
.address-frame .suffix {
|
||||
color: #000000; }
|
||||
|
||||
.action-minor {
|
||||
margin: 20px 14px;
|
||||
font-size: 14px; }
|
||||
.action-minor.mt-negative {
|
||||
margin-top: 0; }
|
||||
.action-minor.text-right {
|
||||
text-align: right; }
|
||||
.action-minor > .action-icon {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
vertical-align: middle;
|
||||
margin-right: 3px; }
|
||||
.action-minor > .action-text {
|
||||
vertical-align: middle;
|
||||
color: #444444; }
|
||||
|
||||
.expand-content-frame {
|
||||
position: relative; }
|
||||
.expand-content-frame .expand-content-trigger {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
right: 0; }
|
||||
.expand-content-frame .expand-content-trigger.expand-content-revealed {
|
||||
opacity: 0; }
|
||||
.expand-content-frame .expand-content {
|
||||
opacity: 0;
|
||||
transform-origin: 100% 0%;
|
||||
transform: scale(0, 0);
|
||||
transition: opacity 0.3s ease, transform 0.3s ease; }
|
||||
.expand-content-frame .expand-content.expand-content-revealed {
|
||||
opacity: 1;
|
||||
transform: scale(1, 1); }
|
||||
|
||||
.fee-summary {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
padding: 5px 12px 15px;
|
||||
box-sizing: border-box;
|
||||
background-color: #F2F2F2; }
|
||||
.fee-summary:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: -15px;
|
||||
width: 100%;
|
||||
height: 15px;
|
||||
background: linear-gradient(to bottom, rgba(242, 242, 242, 0) 0%, #f2f2f2 100%); }
|
||||
.fee-summary .amount {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
width: 100%; }
|
||||
.fee-summary .amount .fee-fiat.positive {
|
||||
color: #70955F; }
|
||||
.fee-summary .amount .fee-fiat.negative {
|
||||
color: #C24633; }
|
||||
.fee-summary .amount .fee-crypto {
|
||||
color: #A7A7A7; }
|
||||
|
||||
.amount .start,
|
||||
.amount .middle,
|
||||
.amount .end,
|
||||
|
|
|
|||
13
www/img/bitpay_banner.svg
Normal file
13
www/img/bitpay_banner.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 7.8 KiB |
BIN
www/img/egifter_banner.png
Normal file
BIN
www/img/egifter_banner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.6 KiB |
22
www/img/icon-alternative-currency-black.svg
Normal file
22
www/img/icon-alternative-currency-black.svg
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="17px" height="17px" viewBox="0 0 17 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: sketchtool 40.1 (33804) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>3A719124-019D-470F-908A-5D61F117A295</title>
|
||||
<desc>Created with sketchtool.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Icons" transform="translate(-324.000000, -770.000000)" stroke="#000000" stroke-width="0.7">
|
||||
<g id="icons/list-items/sync" transform="translate(324.000000, 770.000000)">
|
||||
<g id="Group" transform="translate(0.365217, 0.365217)">
|
||||
<polyline id="Shape" points="10.5913043 11.6869565 0 11.6869565 0 0 16.0695652 0 16.0695652 7.96173913"></polyline>
|
||||
<ellipse id="Oval" cx="8.03478261" cy="5.84347826" rx="1.46086957" ry="1.46086957"></ellipse>
|
||||
<path d="M13.8782609,6.57391304 L13.8782609,4.3826087 C12.6365217,4.3826087 11.6869565,3.43304348 11.6869565,2.19130435 L4.3826087,2.19130435 C4.3826087,3.43304348 3.43304348,4.3826087 2.19130435,4.3826087 L2.19130435,7.30434783 C3.43304348,7.30434783 4.3826087,8.25391304 4.3826087,9.49565217 L10.5913043,9.49565217" id="Shape"></path>
|
||||
<path d="M15.0469565,13.5130435 C15.6313043,13.8052174 16.0695652,14.1704348 16.0695652,14.6086957 C16.0695652,15.4121739 14.7547826,16.0695652 13.1478261,16.0695652 C11.5408696,16.0695652 10.226087,15.4121739 10.226087,14.6086957 C10.226087,14.1704348 10.5913043,13.8052174 11.2486957,13.5130435" id="Shape"></path>
|
||||
<path d="M15.0469565,11.3217391 C15.6313043,11.613913 16.0695652,11.9791304 16.0695652,12.4173913 C16.0695652,13.2208696 14.7547826,13.8782609 13.1478261,13.8782609 C11.5408696,13.8782609 10.226087,13.2208696 10.226087,12.4173913 C10.226087,11.9791304 10.5913043,11.613913 11.1756522,11.3217391" id="Shape"></path>
|
||||
<path d="M15.0469565,9.13043478 C15.6313043,9.4226087 16.0695652,9.78782609 16.0695652,10.226087 C16.0695652,11.0295652 14.7547826,11.6869565 13.1478261,11.6869565 C11.5408696,11.6869565 10.226087,11.0295652 10.226087,10.226087 C10.226087,9.78782609 10.5913043,9.4226087 11.1756522,9.13043478" id="Shape"></path>
|
||||
<ellipse id="Oval" cx="13.1478261" cy="8.03478261" rx="2.92173913" ry="1.46086957"></ellipse>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
11
www/img/icon-bookmark.svg
Normal file
11
www/img/icon-bookmark.svg
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.25 15">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #444;
|
||||
opacity: 0.564;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path id="_ionicons_svg_md-bookmark" class="cls-1" d="M121.688,64h-8.125A1.567,1.567,0,0,0,112,65.563V79l5.625-2.5L123.25,79V65.563A1.567,1.567,0,0,0,121.688,64Z" transform="translate(-112 -64)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 381 B |
BIN
www/img/icon-egifter.png
Normal file
BIN
www/img/icon-egifter.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
BIN
www/img/shapeshift_swap.png
Normal file
BIN
www/img/shapeshift_swap.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 205 KiB |
|
|
@ -1,82 +1,95 @@
|
|||
<ion-view id="view-amount" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
{{'Enter amount' | translate}}
|
||||
{{'Enter Amount' | translate}}
|
||||
</ion-nav-title>
|
||||
<ion-nav-back-button ng-click="goBack()"></ion-nav-back-button>
|
||||
<ion-nav-back-button ng-click="vm.goBack()"></ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content scroll="false" style="background: #fff;">
|
||||
|
||||
<ion-content scroll="false">
|
||||
<div ng-if="vm.thirdParty && vm.thirdParty.id === 'shapeshift'" ng-include="'views/thirdparty/shapeshift-header.html'"></div>
|
||||
<div style="order: 0; position: relative;">
|
||||
|
||||
<div class="item send-amount">
|
||||
<div ng-if="shapeshiftOrderId">
|
||||
Minimum amount: {{minShapeshiftAmount}} <br/>
|
||||
Maximum amount: {{maxShapeshiftAmount}} <br/>
|
||||
<div class="card item send-amount">
|
||||
<div class="send-amount-header-footer">
|
||||
<span class="send-amount-header-footer__min" ng-if="vm.minAmount">Min: {{vm.minAmount}}</span> <span class="send-amount-header-footer__max" ng-if="vm.maxAmount">Max: {{vm.maxAmount}}</span>
|
||||
</div>
|
||||
<div class="send-amount-tool">
|
||||
<div class="send-amount-tool-input amount">
|
||||
<div class="primary-amount"
|
||||
ng-class="{long: amountModel.amount.length > 5, 'very-long': amountModel.amount.length > 10}">
|
||||
<span class="primary-amount-display text-selectable">{{ amountModel.amount || 0 }}</span><span class="unit">{{unit}}</span>
|
||||
ng-class="{long: vm.amount.length > 5, 'very-long': vm.amount.length > 10}">
|
||||
<span class="primary-amount-display text-selectable">{{vm.amount || '0'}} {{vm.unit}}</span>
|
||||
</div>
|
||||
<span ng-show="globalResult">{{globalResult}} {{unit}}</span>
|
||||
<span ng-show="vm.globalResult">{{vm.globalResult}} {{vm.unit}}</span>
|
||||
<div class="alternative-amount">
|
||||
<span class="text-selectable">{{alternativeAmount || '0.00'}}</span> <span>{{alternativeUnit}}</span>
|
||||
<span class="text-selectable">{{vm.alternativeAmount || '0.00'}}</span> <span>{{vm.alternativeUnit}}</span>
|
||||
</div>
|
||||
<div class="switch-currencies" ng-click="changeUnit()"><img src="img/icon-convert.svg"></div>
|
||||
<div class="switch-currencies" ng-click="vm.changeUnit()"><img src="img/icon-convert.svg"></div>
|
||||
</div>
|
||||
<div class="send-amount-actions text-center">
|
||||
<button class="button button-sendmax" ng-click="sendMax()">
|
||||
<span>
|
||||
<i class="icon ion-ios-speedometer-outline"></i> 
|
||||
<span translate>Send max amount</span>
|
||||
</span>
|
||||
</button>
|
||||
<button class="button button-sendmax" ng-click="openPopup()">
|
||||
<span>
|
||||
<i class="icon ion-social-usd"></i> 
|
||||
<span translate>Change currency</span>
|
||||
</span>
|
||||
</button>
|
||||
<div class="send-amount-header-footer">
|
||||
<div class="warning" ng-show="vm.errorMessage">
|
||||
{{vm.errorMessage}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="send-amount-extras text-center">
|
||||
<button class="extra button" ng-click="vm.openPopup()">
|
||||
<span>
|
||||
<img src="img/icon-alternative-currency-black.svg"/>
|
||||
 
|
||||
<span translate>Change Currency</span>
|
||||
</span>
|
||||
</button>
|
||||
<div class="extra available-funds"
|
||||
ng-class="{warning: vm.fundsAreInsufficient}"
|
||||
ng-if="!vm.isRequestingSpecificAmount" translate>
|
||||
<span>Available Funds:</span> <span>{{vm.availableFunds}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="keypad-container" style="background: #fff; position: absolute; bottom: 0; margin-bottom: 57px; width: 100%;">
|
||||
<div class="keypad" style="background: #f2f2f2; position: relative;">
|
||||
<div class="sendmax" ng-if="vm.availableFunds && !vm.isRequestingSpecificAmount">
|
||||
<button class="button button-sendmax" ng-click="vm.sendMax()">
|
||||
<span>
|
||||
<span translate>Use All Available Funds</span> 
|
||||
<span class="available-funds-amount">({{vm.availableFunds}})</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="keypad" style="position: relative;">
|
||||
|
||||
<div class="row">
|
||||
<div class="col digit" ng-click="pushDigit('7')">7</div>
|
||||
<div class="col digit" ng-click="pushDigit('8')">8</div>
|
||||
<div class="col digit" ng-click="pushDigit('9')">9</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('7')">7</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('8')">8</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('9')">9</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col digit" ng-click="pushDigit('4')">4</div>
|
||||
<div class="col digit" ng-click="pushDigit('5')">5</div>
|
||||
<div class="col digit" ng-click="pushDigit('6')">6</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('4')">4</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('5')">5</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('6')">6</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col digit" ng-click="pushDigit('1')">1</div>
|
||||
<div class="col digit" ng-click="pushDigit('2')">2</div>
|
||||
<div class="col digit" ng-click="pushDigit('3')">3</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('1')">1</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('2')">2</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('3')">3</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col digit" ng-click="pushDigit('.')">.</div>
|
||||
<div class="col digit" ng-click="pushDigit('0')">0</div>
|
||||
<div class="col digit icon ion-backspace-outline" ng-click="removeDigit()"></div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('.')">.</div>
|
||||
<div class="col digit" ng-click="vm.pushDigit('0')">0</div>
|
||||
<div class="col digit icon ion-backspace-outline" ng-click="vm.removeDigit()"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="button button-full button-primary no-margin"
|
||||
ng-disabled="!allowSend"
|
||||
ng-click="finish()"
|
||||
ng-disabled="!vm.allowSend"
|
||||
ng-click="vm.finish()"
|
||||
style="position: absolute; bottom: 0;"
|
||||
translate>
|
||||
Next
|
||||
|
|
|
|||
|
|
@ -105,13 +105,13 @@
|
|||
</ion-content>
|
||||
<click-to-accept
|
||||
ng-click="approve(tx, wallet, statusChangeHandler)"
|
||||
ng-if="(!isCordova || isWindowsPhoneApp) && wallet"
|
||||
ng-if="(!isCordova) && wallet"
|
||||
click-send-status="sendStatus"
|
||||
is-disabled="!wallet">
|
||||
{{buttonText}}
|
||||
</click-to-accept>
|
||||
<slide-to-accept
|
||||
ng-if="isCordova && !isWindowsPhoneApp && wallet"
|
||||
ng-if="isCordova && wallet"
|
||||
slide-on-confirm="approve(tx, wallet, statusChangeHandler)"
|
||||
slide-send-status="sendStatus"
|
||||
is-disabled="!wallet">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="title">
|
||||
{{'Alternative Currency'|translate}}
|
||||
</div>
|
||||
<button class="button button-clear" ng-click="close()" translate>
|
||||
<button class="button button-clear" ng-click="vm.close()" translate>
|
||||
{{'Close'|translate}}
|
||||
</button>
|
||||
</ion-header-bar>
|
||||
|
|
@ -11,23 +11,23 @@
|
|||
<div class="bar bar-header item-input-inset m20b">
|
||||
<label class="item-input-wrapper">
|
||||
<i class="icon ion-ios-search placeholder-icon"></i>
|
||||
<input type="search" ng-init="searchedAltCurrency = ''" ng-model="searchedAltCurrency" ng-change="findCurrency(searchedAltCurrency)"
|
||||
<input type="search" ng-init="searchedAltCurrency = ''" ng-model="searchedAltCurrency" ng-change="vm.findCurrency(searchedAltCurrency)"
|
||||
placeholder="{{'Search your currency' | translate}}">
|
||||
</label>
|
||||
</div>
|
||||
<div class="list" ng-if="lastUsedPopularList[0] && searchedAltCurrency.length == 0">
|
||||
<ion-radio class="alt-currency-radio" ng-repeat="lastUsedAltCurrency in lastUsedPopularList" ng-value="lastUsedAltCurrency.isoCode" ng-model="currentCurrency"
|
||||
ng-click="save(lastUsedAltCurrency)">{{lastUsedAltCurrency.name}} <span class="item-note">{{lastUsedAltCurrency.isoCode}}</span>
|
||||
<div class="list" ng-if="vm.lastUsedPopularList[0] && searchedAltCurrency.length == 0">
|
||||
<ion-radio class="alt-currency-radio" ng-repeat="lastUsedAltCurrency in vm.lastUsedPopularList" ng-value="lastUsedAltCurrency.isoCode" ng-model="currentCurrency"
|
||||
ng-click="vm.save(lastUsedAltCurrency)">{{lastUsedAltCurrency.name}} <span class="item-note">{{lastUsedAltCurrency.isoCode}}</span>
|
||||
</ion-radio>
|
||||
</div>
|
||||
<div class="list">
|
||||
<div class="item" ng-repeat="altCurrency in altCurrencyList" ng-value="altCurrency.isoCode" ng-model="currentCurrency"
|
||||
ng-click="save(altCurrency)">{{altCurrency.name}} <span class="item-note">{{altCurrency.isoCode}}</span>
|
||||
<div class="item" ng-repeat="altCurrency in vm.altCurrencyList" ng-value="altCurrency.isoCode" ng-model="currentCurrency"
|
||||
ng-click="vm.save(altCurrency)">{{altCurrency.name}} <span class="item-note">{{altCurrency.isoCode}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<ion-infinite-scroll
|
||||
ng-if="!listComplete"
|
||||
on-infinite="loadMore()"
|
||||
ng-if="!vm.listComplete"
|
||||
on-infinite="vm.loadMore()"
|
||||
distance="50%">
|
||||
</ion-infinite-scroll>
|
||||
</ion-content>
|
||||
|
|
|
|||
119
www/views/review.html
Normal file
119
www/views/review.html
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
<ion-view id="view-review" hide-tabs>
|
||||
<ion-nav-bar class="bar-royal {{vm.origin.currency.toLowerCase()}}">
|
||||
<ion-nav-title>
|
||||
{{'Review Transaction' | translate}}
|
||||
</ion-nav-title>
|
||||
<ion-nav-back-button>
|
||||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
|
||||
<ion-content class="padded-bottom-cta-with-summary bg-neutral">
|
||||
<div ng-if="vm.thirdParty && vm.thirdParty.id === 'shapeshift'" ng-include="'views/thirdparty/shapeshift-header.html'"></div>
|
||||
<div class="header {{vm.origin.currency.toLowerCase()}}" ng-class="vm.thirdParty.id">
|
||||
<div class="content">
|
||||
<p>{{vm.sendingTitle}}</p>
|
||||
<p class="large">{{vm.primaryAmount}} {{vm.primaryCurrency}}</p>
|
||||
<p ng-show="vm.secondaryAmount">{{vm.secondaryAmount}} {{vm.secondaryCurrency}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-frame negative-top">
|
||||
<div class="card card-gutter-compact">
|
||||
<div class="item item-compact" translate>From:</div>
|
||||
<div class="item item-gutterless item-complex item-avatar">
|
||||
<div class="item-content item-content-avatar">
|
||||
<i class="icon big-icon-svg theme-circle theme-circle-services">
|
||||
<div class="bg icon-wallet"
|
||||
style="background-color: {{vm.originWallet.color}}"
|
||||
></div>
|
||||
</i>
|
||||
<h2>{{vm.originWallet.name}} <span class="highlight" style="color: {{vm.origin.currencyColor}}">({{vm.origin.currency}})</span></h2>
|
||||
<p ng-show="vm.origin.balanceAmount">{{vm.origin.balanceAmount}} {{vm.origin.balanceCurrency}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card card-gutter-compact">
|
||||
<div class="item item-compact" translate>To:</div>
|
||||
<div class="item item-gutterless item-complex item-avatar">
|
||||
<div class="item-content item-content-avatar"
|
||||
ng-if="vm.destination.kind === 'contact' || vm.destination.kind === 'wallet' || vm.destination.kind == 'shapeshift'">
|
||||
<img src="img/contact-placeholder.svg" class="bg" ng-if="vm.destination.kind === 'contact'">
|
||||
<i class="icon big-icon-svg theme-circle theme-circle-services" ng-if="vm.destination.kind === 'wallet' || vm.destination.kind === 'shapeshift'">
|
||||
<div class="bg icon-wallet"
|
||||
style="background-color: {{vm.destination.color}}"
|
||||
></div>
|
||||
</i>
|
||||
<h2>{{vm.destination.name}}<span class="highlight" style="color: {{vm.destination.currencyColor}}" ng-if="vm.destination.currency"> ({{vm.destination.currency}})</span></h2></h2>
|
||||
<p ng-if="vm.destination.balanceAmount">{{vm.destination.balanceAmount}} {{vm.destination.balanceCurrency}}</p>
|
||||
</div>
|
||||
<div class="item-content item-content-avatar"
|
||||
ng-if="vm.thirdParty && vm.thirdParty.id === 'bip70'
|
||||
&& (vm.thirdParty.name === 'BitPay' || vm.thirdParty.name === 'eGifter')">
|
||||
<img ng-if="vm.thirdParty.name === 'BitPay'" src="img/icon-bitpay.svg" class="bg">
|
||||
<img ng-if="vm.thirdParty.name === 'eGifter'" src="img/icon-egifter.png" class="bg">
|
||||
<h2>{{vm.destination.name}}</h2>
|
||||
<p translate ng-if="!vm.paymentExpired">Payment expires: {{vm.remainingTimeStr}}</p>
|
||||
<p class="warning" translate ng-if="vm.paymentExpired">Payment request has expired</p>
|
||||
</div>
|
||||
<div class="item-content item-content-compact" ng-init="addressExpanded = false" ng-if="vm.destination.kind === 'address' && !vm.thirdParty">
|
||||
<div class="address-frame" ng-class="{ 'expanded': addressExpanded }" ng-click="addressExpanded = !addressExpanded">
|
||||
<span class="prefix">{{vm.destination.address.substring(0,5)}}</span><span class="mid">{{vm.destination.address.substring(5,vm.destination.address.length-4)}}</span><span class="suffix">{{vm.destination.address.substring(vm.destination.address.length-4)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="expand-content-frame">
|
||||
<div class="action-minor mt-negative text-right expand-content-trigger"
|
||||
ng-class="{ 'expand-content-revealed': vm.memoExpanded }"
|
||||
ng-click="vm.memoExpanded = !vm.memoExpanded">
|
||||
<img src="img/icon-bookmark.svg" class="action-icon">
|
||||
<span class="action-text">Add personal note</span>
|
||||
</div>
|
||||
<div class="card card-gutter-compact expand-content"
|
||||
ng-class="{ 'expand-content-revealed': vm.memoExpanded }">
|
||||
<div class="item item-compact" translate>Personal Note:</div>
|
||||
<div class="item">
|
||||
<div class="item-content">
|
||||
<textarea elastic placeholder="{{btx.note.body || btx.message || 'Enter text here'}}" class="elastic" ng-model="vm.memo"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
<div class="fee-summary">
|
||||
<div ng-if="vm.thirdParty && vm.thirdParty.id === 'bip70'" translate="">Suggested by merchant:</div>
|
||||
<div class="amount">
|
||||
<div class="fee-fiat positive" ng-if="vm.feeLessThanACent">Fee: Less than 1 cent</div>
|
||||
<div class="fee-fiat" ng-class="vm.feeIsHigh ? 'negative' : 'positive'" ng-if="!vm.feeLessThanACent">Fee: {{vm.feeFiat}} {{vm.feeCurrency}}</div>
|
||||
<div class="fee-crypto" ng-if="vm.feeCrypto">
|
||||
{{vm.feeCrypto}} {{vm.origin.currency}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<click-to-accept
|
||||
ng-click="vm.approve()"
|
||||
ng-if="!vm.isCordova"
|
||||
click-send-status="vm.sendStatus"
|
||||
is-disabled="!vm.readyToSend">
|
||||
{{vm.buttonText}}
|
||||
</click-to-accept>
|
||||
<slide-to-accept
|
||||
ng-if="vm.isCordova"
|
||||
slide-on-confirm="vm.approve()"
|
||||
slide-send-status="vm.sendStatus"
|
||||
is-disabled="!vm.readyToSend">
|
||||
{{vm.buttonText}}
|
||||
</slide-to-accept>
|
||||
<slide-to-accept-success
|
||||
slide-success-show="vm.sendStatus === 'success'"
|
||||
slide-success-on-confirm="vm.onSuccessConfirm()"
|
||||
slide-success-hide-on-confirm="true">
|
||||
<span ng-show="vm.originWallet.m == 1 && (vm.originWallet.canSign() || vm.originWallet.isPrivKeyExternal())" translate>Payment Sent</span>
|
||||
<span ng-show="vm.originWallet.m > 1 && (vm.originWallet.canSign() || vm.originWallet.isPrivKeyExternal())" translate>Proposal Created</span>
|
||||
<span ng-show="!vm.originWallet.canSign() && !vm.originWallet.isPrivKeyExternal()" translate>Transaction Created</span>
|
||||
</slide-to-accept-success>
|
||||
</ion-view>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<ion-view class="settings" show-tabs>
|
||||
<ion-view id="shapeshift" class="settings" show-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>
|
||||
{{'Shapeshift'|translate}}
|
||||
|
|
@ -7,14 +7,29 @@
|
|||
</ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div class="send-header-wrapper shapeshift-banner">
|
||||
<img class="shapeshift-logo" src="img/shapeshiftlogo.svg"/>
|
||||
</div>
|
||||
<div class="list card ng-hide" ng-show="fromWallets.length == 0 || toWallets.length == 0">
|
||||
<div class="item item-heading">
|
||||
<span translate>No available wallets to convert between.</span>
|
||||
<div ng-include="'views/thirdparty/shapeshift-header.html'"></div>
|
||||
<div class="list card empty-case">
|
||||
<div>
|
||||
<img class="swap-image" src="img/shapeshift_swap.png"/>
|
||||
</div>
|
||||
<div class="subtitle">
|
||||
<p translate>Exchange your BTC to BCH in minutes.</p>
|
||||
<div ng-show="!walletsWithFunds.length">
|
||||
<p translate>To start the process you need to add funds to your wallet.</p>
|
||||
</div>
|
||||
<div ng-show="walletsWithFunds.length">
|
||||
<p translate>The process is fast and you will receive the exchanged amount in your wallet.</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="!walletsWithFunds.length" 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-shapeshift track_shapeshift_start_click" ng-click="shapeshift()" ng-show="walletsWithFunds.length" translate>Start ShapeShift</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="third-party-notice" translate>This service is provided by the third-party ShapeShift, who will charge a small fee for the service. The fee will be shown before you start the transaction.</div>
|
||||
|
||||
<shapeshift-coin-trader class="ng-hide" ng-show="fromWallets.length > 0 && toWallets.length > 0">
|
||||
<div class="list card">
|
||||
<div class="item item-heading">
|
||||
|
|
@ -94,21 +109,21 @@
|
|||
</shapeshift-coin-trader>
|
||||
</ion-content>
|
||||
|
||||
<wallet-selector
|
||||
wallet-selector-title="fromWalletSelectorTitle"
|
||||
wallet-selector-wallets="fromWallets"
|
||||
wallet-selector-selected-wallet="fromWallet"
|
||||
wallet-selector-show="showFromWallets"
|
||||
wallet-selector-on-select="onFromWalletSelect"
|
||||
wallet-selector-always-display-bitcoin-core="true">
|
||||
</wallet-selector>
|
||||
<!--<wallet-selector-->
|
||||
<!--wallet-selector-title="fromWalletSelectorTitle"-->
|
||||
<!--wallet-selector-wallets="fromWallets"-->
|
||||
<!--wallet-selector-selected-wallet="fromWallet"-->
|
||||
<!--wallet-selector-show="showFromWallets"-->
|
||||
<!--wallet-selector-on-select="onFromWalletSelect"-->
|
||||
<!--wallet-selector-always-display-bitcoin-core="true">-->
|
||||
<!--</wallet-selector>-->
|
||||
|
||||
<wallet-selector
|
||||
wallet-selector-title="toWalletSelectorTitle"
|
||||
wallet-selector-wallets="toWallets"
|
||||
wallet-selector-selected-wallet="toWallet"
|
||||
wallet-selector-show="showToWallets"
|
||||
wallet-selector-on-select="onToWalletSelect"
|
||||
wallet-selector-always-display-bitcoin-core="true">
|
||||
</wallet-selector>
|
||||
</ion-view>
|
||||
<!--<wallet-selector-->
|
||||
<!--wallet-selector-title="toWalletSelectorTitle"-->
|
||||
<!--wallet-selector-wallets="toWallets"-->
|
||||
<!--wallet-selector-selected-wallet="toWallet"-->
|
||||
<!--wallet-selector-show="showToWallets"-->
|
||||
<!--wallet-selector-on-select="onToWalletSelect"-->
|
||||
<!--wallet-selector-always-display-bitcoin-core="true">-->
|
||||
<!--</wallet-selector>-->
|
||||
<!--</ion-view>-->
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="col-60">
|
||||
<button class="button button-standard button-primary button-outline" ng-click="showWalletSelector()">
|
||||
<button class="button button-standard button-primary button-outline" ui-sref="tabs.send.wallet-to-wallet">
|
||||
<img src="img/icon-w2w.svg"/><br/>
|
||||
<span translate>Wallet to Wallet Transfer</span>
|
||||
</button>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
</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)">
|
||||
ng-if="!item.isWallet && item.recipientType != 'wallet'" ng-click="sendToContact(item)">
|
||||
<i class="icon big-icon-svg">
|
||||
<gravatar class="send-gravatar" name="{{item.name}}" width="120" email="{{item.email}}"></gravatar>
|
||||
</i>
|
||||
|
|
@ -105,31 +105,31 @@
|
|||
</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>
|
||||
<!--<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>
|
||||
|
|
|
|||
3
www/views/thirdparty/bitpay-header.html
vendored
Normal file
3
www/views/thirdparty/bitpay-header.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div class="send-header-wrapper bitpay-banner">
|
||||
<img class="bitpay-logo" src="img/bitpay_banner.svg"/>
|
||||
</div>
|
||||
3
www/views/thirdparty/egifter-header.html
vendored
Normal file
3
www/views/thirdparty/egifter-header.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div class="send-header-wrapper egifter-banner">
|
||||
<img class="egifter-logo" src="img/egifter_banner.png"/>
|
||||
</div>
|
||||
3
www/views/thirdparty/shapeshift-header.html
vendored
Normal file
3
www/views/thirdparty/shapeshift-header.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<div class="send-header-wrapper shapeshift-banner">
|
||||
<img class="shapeshift-logo" src="img/shapeshiftlogo.svg"/>
|
||||
</div>
|
||||
59
www/views/walletSelector.html
Normal file
59
www/views/walletSelector.html
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
<ion-view id="wallet-origin-destination" show-tabs>
|
||||
<ion-nav-bar class="bar-royal">
|
||||
<ion-nav-title>{{sendFlowTitle}}</ion-nav-title>
|
||||
<ion-nav-back-button ng-click="goBack()"></ion-nav-back-button>
|
||||
</ion-nav-bar>
|
||||
<ion-content>
|
||||
<div ng-if="thirdParty && thirdParty.id === 'shapeshift'" ng-include="'views/thirdparty/shapeshift-header.html'"></div>
|
||||
<div ng-if="thirdParty && thirdParty.id === 'bip70' && thirdParty.name === 'BitPay'" ng-include="'views/thirdparty/bitpay-header.html'"></div>
|
||||
<div ng-if="thirdParty && thirdParty.id === 'bip70' && thirdParty.name === 'eGifter'" ng-include="'views/thirdparty/egifter-header.html'"></div>
|
||||
<div class="header--request" ng-if="isPaymentRequest">
|
||||
<div class="header--request__title" translate>Paying</div>
|
||||
<div class="header--request__amount" translate>{{requestAmount}} {{requestCurrency}}</div>
|
||||
<div class="header--request__amount-alt" ng-show="requestAmountSecondary" translate>{{requestAmountSecondary}} {{requestCurrencySecondary}}</div>
|
||||
</div>
|
||||
<div class="wallets-header">
|
||||
<div class="title">
|
||||
{{headerTitle}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="list card" ng-if="walletsBch.length > 0">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<div translate>Bitcoin Cash (BCH)</div>
|
||||
<div translate class="subtitle">Instant transactions with low fees</div>
|
||||
</div>
|
||||
<div>
|
||||
<a ng-repeat="wallet in walletsBch track by $index"
|
||||
class="item item-sub item-icon-left item-big-icon-left item-icon-right wallet"
|
||||
ng-click="useWallet(wallet)">
|
||||
<span ng-include="'views/includes/walletList.html'"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list card" ng-if="walletsBtc.length > 0">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<div translate>Bitcoin Core (BTC)</div>
|
||||
</div>
|
||||
<div>
|
||||
<a ng-repeat="wallet in walletsBtc track by $index"
|
||||
class="item item-sub item-icon-left item-big-icon-left item-icon-right wallet"
|
||||
ng-click="useWallet(wallet)">
|
||||
<span ng-include="'views/includes/walletList.html'"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list card card-insufficient" ng-if="walletsInsufficientFunds.length > 0">
|
||||
<div class="item item-icon-right item-heading">
|
||||
<span class="card-insufficient__dot"></span><div translate>Insufficient funds</div>
|
||||
</div>
|
||||
<div>
|
||||
<a ng-repeat="wallet in walletsInsufficientFunds track by $index"
|
||||
class="item item-sub item-icon-left item-big-icon-left item-icon-right wallet">
|
||||
<span ng-include="'views/includes/walletList.html'"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
</ion-view>
|
||||
Loading…
Add table
Add a link
Reference in a new issue