diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b46c97a44..1040890f5 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -29,7 +29,7 @@ "@ng-bootstrap/ng-bootstrap": "^19.0.0", "@noble/secp256k1": "^3.0.0", "@types/qrcode": "~1.5.0", - "bootstrap": "~4.6.2", + "bootstrap": "~5.3.8", "clipboard": "^2.0.11", "cypress": "15.13.0", "domino": "^2.1.6", @@ -8567,9 +8567,9 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, "node_modules/bootstrap": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", - "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz", + "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==", "funding": [ { "type": "github", @@ -8580,9 +8580,9 @@ "url": "https://opencollective.com/bootstrap" } ], + "license": "MIT", "peerDependencies": { - "jquery": "1.9.1 - 3", - "popper.js": "^1.16.1" + "@popperjs/core": "^2.11.8" } }, "node_modules/brace-expansion": { @@ -12667,12 +12667,6 @@ "url": "https://github.com/sponsors/panva" } }, - "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", - "peer": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -14720,17 +14714,6 @@ "node": ">=10.13.0" } }, - "node_modules/popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/portscanner": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", @@ -23115,9 +23098,9 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, "bootstrap": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", - "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz", + "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==", "requires": {} }, "brace-expansion": { @@ -25919,12 +25902,6 @@ "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==" }, - "jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", - "peer": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -27377,12 +27354,6 @@ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "peer": true - }, "portscanner": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index efccffab6..d134d8e1a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -79,7 +79,7 @@ "@ng-bootstrap/ng-bootstrap": "^19.0.0", "@types/qrcode": "~1.5.0", "@noble/secp256k1": "^3.0.0", - "bootstrap": "~4.6.2", + "bootstrap": "~5.3.8", "clipboard": "^2.0.11", "domino": "^2.1.6", "echarts": "~5.4.0", diff --git a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html index d09af0562..d6650e47a 100644 --- a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html +++ b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.html @@ -90,7 +90,7 @@
-
+
@@ -129,7 +129,7 @@ sats - + } @@ -151,7 +151,7 @@ sats - + } @@ -169,7 +169,7 @@ sats - + @@ -181,7 +181,7 @@ sats - + @@ -190,16 +190,16 @@ - Estimated acceleration cost ~{{ estimate.targetFeeRate | number : '1.0-0' }} sat/vB + Estimated acceleration cost ~{{ estimate.targetFeeRate | number : '1.0-0' }} sat/vB - + {{ estimate.cost + estimate.mempoolBaseFee + estimate.vsizeFee | number }} sats - + @@ -209,19 +209,19 @@ @if (hasAccessToBalanceMode) { - Maximum acceleration cost + Maximum acceleration cost } @else { - Acceleration cost + Acceleration cost } - + {{ cost | number }} sats - + @@ -237,7 +237,7 @@ sats - + @@ -291,10 +291,10 @@
-
+
-
+
- +
@@ -364,7 +364,7 @@
- +
@@ -430,9 +430,9 @@ @if (canPayWithCashapp || canPayWithApplePay || canPayWithGooglePay) { }
@if (['VISA', 'MASTERCARD', 'JCB', 'DISCOVER', 'DISCOVER_DINERS', 'AMERICAN_EXPRESS'].includes(estimate?.availablePaymentMethods?.cardOnFile?.card?.brand)) { - + } @else { - + } {{ estimate?.availablePaymentMethods?.cardOnFile?.card?.last_4 }}
@@ -469,7 +469,7 @@
-
+
Payment to mempool.space for acceleration of txid {{ tx.txid.substr(0, 10) }}..{{ tx.txid.substr(-10) }}
@@ -478,7 +478,7 @@ @if (step === 'cashapp' && !loadingCashapp || step === 'applepay' && !loadingApplePay || step === 'googlepay' && !loadingGooglePay || step === 'cardonfile' && !loadingCardOnFile) {
-
+
Total additional cost
Pay @@ -493,7 +493,7 @@
-
+
@if (step === 'applepay') {
} @else if (step === 'cashapp') { @@ -501,11 +501,11 @@ } @else if (step === 'googlepay') {
} @else if (step === 'cardonfile') { -
+
@if (['VISA', 'MASTERCARD', 'JCB', 'DISCOVER', 'DISCOVER_DINERS', 'AMERICAN_EXPRESS'].includes(estimate?.availablePaymentMethods?.cardOnFile?.card?.brand)) { - + } @else { - + } {{ estimate?.availablePaymentMethods?.cardOnFile?.card?.last_4 }}
@@ -513,13 +513,13 @@ @if (loadingCashapp || loadingApplePay || loadingGooglePay || loadingCardOnFile) {
Loading payment method... -
+
}
@if (isTokenizing > 0) {
-
+
}
@@ -541,12 +541,12 @@
-
+
We are processing your payment... -
+
@@ -611,7 +611,7 @@ - + Accelerate to ~{{ x | number : '1.0-0' }} sat/vB @@ -619,7 +619,7 @@
@if (quoteError || cantPayReason) { @@ -631,12 +631,12 @@ @if (hasAccessToBalanceMode) { } @else { } @@ -645,7 +645,7 @@ Your transaction will be prioritized by up to {{ i | number : '1.1-1' }}% of miners. -
- Using partner code {{ partnerCode }} +
+ Using partner code {{ partnerCode }}
diff --git a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.scss b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.scss index 27a7e0e90..c54612429 100644 --- a/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.scss +++ b/frontend/src/app/components/accelerate-checkout/accelerate-checkout.component.scss @@ -195,6 +195,12 @@ @media (max-width: 640px) { flex-direction: column; } + + &.row>* { + width: unset; + padding-left: unset; + padding-right: unset; + } } .btn-error { @@ -237,4 +243,8 @@ flex-direction: row; gap: 5px; } +} + +.form-text { + display: block; } \ No newline at end of file diff --git a/frontend/src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html b/frontend/src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html index 0f436f9ac..fb4549c50 100644 --- a/frontend/src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html +++ b/frontend/src/app/components/acceleration-timeline/acceleration-timeline-tooltip.component.html @@ -11,11 +11,11 @@ Status @if (accelerationInfo.status === 'seen') { - First seen + First seen } @else if (accelerationInfo.status === 'accelerated') { Accelerated } @else if (accelerationInfo.status === 'mined') { - Mined + Mined } diff --git a/frontend/src/app/components/acceleration-timeline/acceleration-timeline.component.html b/frontend/src/app/components/acceleration-timeline/acceleration-timeline.component.html index af76bbc7b..05b23336e 100644 --- a/frontend/src/app/components/acceleration-timeline/acceleration-timeline.component.html +++ b/frontend/src/app/components/acceleration-timeline/acceleration-timeline.component.html @@ -29,7 +29,7 @@
@if (canceled) { -
Canceled
+
Canceled
} @else {
Mined
} @@ -63,7 +63,7 @@
-
First seen
+
First seen
@if (useAbsoluteTime) { {{ transactionTime * 1000 | date }} @@ -122,7 +122,7 @@
@if (tx.status.confirmed) { -
Mined
+
Mined
@if (useAbsoluteTime) { {{ tx.status.block_time * 1000 | date }} diff --git a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html index 114a20913..0e56ce992 100644 --- a/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html +++ b/frontend/src/app/components/acceleration/acceleration-fees-graph/acceleration-fees-graph.component.html @@ -4,37 +4,43 @@
Acceleration Fees -
-
- - - - - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html index 26cdace5d..47d653f78 100644 --- a/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html +++ b/frontend/src/app/components/acceleration/accelerations-list/accelerations-list.component.html @@ -1,56 +1,56 @@
-

Accelerations

-
+

Accelerations

+
- + - - - + + + - - - - - + + + + + - - - - - - - - - - @@ -77,22 +77,22 @@ @if (!pending) { - - - - - - @@ -100,16 +100,16 @@ } @else { - - - - @@ -118,7 +118,7 @@
TXIDTXID Fee rateBidRequestedFee rateBidRequested Bid BoostBlockPoolStatusRequestedBid BoostBlockPoolStatusRequested
+ + + {{ (acceleration.feeDelta) | number }} sats + + {{ acceleration.boost | number }} sats + ~ + {{ acceleration.blockHeight }} ~ + @if (acceleration.minedByPoolUniqueId && pools[acceleration.minedByPoolUniqueId]) { @@ -60,14 +60,14 @@ ~ } - Pending - Completed ⌛ - Mined ⌛ - Canceled ⌛ - Failed ⌛ + + Pending + Completed ⌛ + Mined ⌛ + Canceled ⌛ + Failed ⌛ +
+ + + + + +
+ + + +
- diff --git a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html index d727621c1..d37cfaf5b 100644 --- a/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html +++ b/frontend/src/app/components/acceleration/accelerator-dashboard/accelerator-dashboard.component.html @@ -62,7 +62,7 @@
-
+
Mempool Goggles® : Accelerations
  @@ -78,7 +78,7 @@
-
+ @@ -15,6 +15,6 @@ {{ label }} \ No newline at end of file diff --git a/frontend/src/app/components/address/address.component.html b/frontend/src/app/components/address/address.component.html index 0a2b0e2ed..f05caf371 100644 --- a/frontend/src/app/components/address/address.component.html +++ b/frontend/src/app/components/address/address.component.html @@ -76,20 +76,20 @@
-

Taproot Tree

+

Taproot Tree

- + - + - + - +
{{ psbtError }}
@@ -103,7 +103,7 @@
-

Balance History

+

Balance History

@@ -124,7 +124,7 @@
-

Unspent Outputs

+

Unspent Outputs

@@ -137,7 +137,7 @@
-

+

  {{ (transactions?.length | number) || '?' }} of {{ mempoolStats.tx_count + chainStats.tx_count | number }} transaction {{ (transactions?.length | number) || '?' }} of {{ mempoolStats.tx_count + chainStats.tx_count | number }} transactions @@ -286,8 +286,8 @@ - Pending - + Pending + @@ -296,8 +296,8 @@ - Pending UTXOs - {{ mempoolStats.utxos > 0 ? '+' : ''}}{{ mempoolStats.utxos }} + Pending UTXOs + {{ mempoolStats.utxos > 0 ? '+' : ''}}{{ mempoolStats.utxos }} @@ -308,13 +308,13 @@ Type - + - + diff --git a/frontend/src/app/components/amount-selector/amount-selector.component.html b/frontend/src/app/components/amount-selector/amount-selector.component.html index a16a24d4f..eeab9f623 100644 --- a/frontend/src/app/components/amount-selector/amount-selector.component.html +++ b/frontend/src/app/components/amount-selector/amount-selector.component.html @@ -1,5 +1,5 @@
- diff --git a/frontend/src/app/components/assets/assets-nav/assets-nav.component.html b/frontend/src/app/components/assets/assets-nav/assets-nav.component.html index 420fff818..e82aa90f2 100644 --- a/frontend/src/app/components/assets/assets-nav/assets-nav.component.html +++ b/frontend/src/app/components/assets/assets-nav/assets-nav.component.html @@ -17,9 +17,7 @@
-
- -
+
diff --git a/frontend/src/app/components/bitcoin-invoice/bitcoin-invoice.component.html b/frontend/src/app/components/bitcoin-invoice/bitcoin-invoice.component.html index 932586c6d..74a6f8bf1 100644 --- a/frontend/src/app/components/bitcoin-invoice/bitcoin-invoice.component.html +++ b/frontend/src/app/components/bitcoin-invoice/bitcoin-invoice.component.html @@ -18,7 +18,7 @@
-
+
-
+
To use the faucet, please
} @else if (user && user.status === 'pending' && !user.email && user.snsId) { -
+
- + Please verify your account by providing a valid email address. To mitigate spam, we delete unverified accounts at regular intervals.
@@ -37,7 +37,7 @@
- To use the faucet, please + To use the faucet, please
@@ -45,7 +45,7 @@ @else if (error === 'account_limited') {
- Your account does not allow you to access the faucet + Your account does not allow you to access the faucet
} @@ -58,31 +58,27 @@
-
+
-
- Amount (sats) -
+ Amount (sats)
- - + +
-
+
Amount is required
Minimum is {{ amount?.errors?.['min'].min | number }} tSats
Maximum is {{ amount?.errors?.['max'].max | number }} tSats
-
- Address -
+ Address
-
+
Address is required
Must be a valid testnet4 address
You cannot use this address
diff --git a/frontend/src/app/components/fiat-selector/fiat-selector.component.html b/frontend/src/app/components/fiat-selector/fiat-selector.component.html index 4fa55deb9..414ff2466 100644 --- a/frontend/src/app/components/fiat-selector/fiat-selector.component.html +++ b/frontend/src/app/components/fiat-selector/fiat-selector.component.html @@ -1,5 +1,5 @@
-
diff --git a/frontend/src/app/components/footer/footer.component.html b/frontend/src/app/components/footer/footer.component.html index a0967b7cb..3e6ff914e 100644 --- a/frontend/src/app/components/footer/footer.component.html +++ b/frontend/src/app/components/footer/footer.component.html @@ -5,7 +5,7 @@ Incoming Transactions  -  Backend is synchronizing ({{ mempoolLoadingStatus$ | async }}%) +  Backend is synchronizing ({{ mempoolLoadingStatus$ | async }}%)
diff --git a/frontend/src/app/components/github-login.component/github-login.component.html b/frontend/src/app/components/github-login.component/github-login.component.html index e57019a26..13d5ee049 100644 --- a/frontend/src/app/components/github-login.component/github-login.component.html +++ b/frontend/src/app/components/github-login.component/github-login.component.html @@ -1,5 +1,5 @@ - {{ buttonString }} + {{ buttonString }} diff --git a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html index d60404fb5..52eafd54e 100644 --- a/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html +++ b/frontend/src/app/components/hashrate-chart/hashrate-chart.component.html @@ -25,31 +25,35 @@
Hashrate & Difficulty -
-
- - - - - - +
+ + + + + + + + + + + + + + + + + + + + + +
diff --git a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html index 77a55c954..9db0b83a5 100644 --- a/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html +++ b/frontend/src/app/components/hashrates-chart-pools/hashrate-chart-pools.component.html @@ -5,28 +5,31 @@
Pools Dominance -
-
- - - - - +
+ + + + + + + + + + + + + + + + + +
diff --git a/frontend/src/app/components/language-selector/language-selector.component.html b/frontend/src/app/components/language-selector/language-selector.component.html index adc771c83..a57cef936 100644 --- a/frontend/src/app/components/language-selector/language-selector.component.html +++ b/frontend/src/app/components/language-selector/language-selector.component.html @@ -1,5 +1,5 @@
-
diff --git a/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html b/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html index 13ca303c5..5dc805e30 100644 --- a/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html +++ b/frontend/src/app/components/liquid-master-page/liquid-master-page.component.html @@ -18,13 +18,13 @@ }
-
Offline
-
Reconnecting...
+
Offline
+
Reconnecting...
- + @if (enterpriseInfo) { diff --git a/frontend/src/app/components/liquid-reserves-audit/federation-addresses-list/federation-addresses-list.component.html b/frontend/src/app/components/liquid-reserves-audit/federation-addresses-list/federation-addresses-list.component.html index 104fa9246..490c3abae 100644 --- a/frontend/src/app/components/liquid-reserves-audit/federation-addresses-list/federation-addresses-list.component.html +++ b/frontend/src/app/components/liquid-reserves-audit/federation-addresses-list/federation-addresses-list.component.html @@ -22,30 +22,30 @@
- - + + - - - - @@ -54,20 +54,20 @@ - - - - @@ -75,7 +75,7 @@
AddressBalanceAddressBalance
+ +
+ +
+ +
+ +
- diff --git a/frontend/src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html b/frontend/src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html index 17f9c2efb..851ce1f29 100644 --- a/frontend/src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html +++ b/frontend/src/app/components/liquid-reserves-audit/federation-utxos-list/federation-utxos-list.component.html @@ -22,47 +22,47 @@
- - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - @@ -127,7 +127,7 @@
OutputAddressAmountRelated Peg-InDateExpires inExpired sinceDustOutputAddressAmountRelated Peg-InDateExpires inExpired sinceDust
+ + +
+ + + + @@ -72,13 +72,13 @@ Change output + + {{ utxo.blocknumber + utxo.timelock - lastReservesBlockUpdate < 0 ? -(utxo.blocknumber + utxo.timelock - lastReservesBlockUpdate) : utxo.blocknumber + utxo.timelock - lastReservesBlockUpdate }} blocks + @if (utxo.isDust) { ✔ } @else { @@ -91,35 +91,35 @@
+ + +
+ + + + + +
- diff --git a/frontend/src/app/components/liquid-reserves-audit/recent-pegs-list/recent-pegs-list.component.html b/frontend/src/app/components/liquid-reserves-audit/recent-pegs-list/recent-pegs-list.component.html index e05145d03..eee9ea3b4 100644 --- a/frontend/src/app/components/liquid-reserves-audit/recent-pegs-list/recent-pegs-list.component.html +++ b/frontend/src/app/components/liquid-reserves-audit/recent-pegs-list/recent-pegs-list.component.html @@ -10,16 +10,16 @@
- - - - - + + + + + - - - - - - - - - - - - - - - - @@ -117,7 +117,7 @@
TransactionDateAmountFund / Redemption TxBTC AddressTransactionDateAmountFund / Redemption TxBTC Address
+ @@ -31,17 +31,17 @@ + +
+ @@ -53,13 +53,13 @@ + + + @@ -71,7 +71,7 @@ + @@ -84,32 +84,32 @@
+ + +
+ + + + +
- diff --git a/frontend/src/app/components/loading-indicator/loading-indicator.component.html b/frontend/src/app/components/loading-indicator/loading-indicator.component.html index 49dbc2983..378321701 100644 --- a/frontend/src/app/components/loading-indicator/loading-indicator.component.html +++ b/frontend/src/app/components/loading-indicator/loading-indicator.component.html @@ -1,3 +1,3 @@
- {{ this.label }} ({{ progress }}%) + {{ this.label }} ({{ progress }}%)
\ No newline at end of file diff --git a/frontend/src/app/components/master-page-preview/master-page-preview.component.html b/frontend/src/app/components/master-page-preview/master-page-preview.component.html index 8fedb9424..151409618 100644 --- a/frontend/src/app/components/master-page-preview/master-page-preview.component.html +++ b/frontend/src/app/components/master-page-preview/master-page-preview.component.html @@ -12,12 +12,12 @@
- Signet - Testnet3 - Testnet4 - Mainnet - Testnet - Mainnet + Signet + Testnet3 + Testnet4 + Mainnet + Testnet + Mainnet
diff --git a/frontend/src/app/components/master-page/master-page.component.html b/frontend/src/app/components/master-page/master-page.component.html index e9e161e8b..397d400fc 100644 --- a/frontend/src/app/components/master-page/master-page.component.html +++ b/frontend/src/app/components/master-page/master-page.component.html @@ -30,13 +30,13 @@ }
-
Offline
-
Reconnecting...
+
Offline
+
Reconnecting...
- + @if (enterpriseInfo) { diff --git a/frontend/src/app/components/mempool-block/mempool-block.component.html b/frontend/src/app/components/mempool-block/mempool-block.component.html index cf5e641e5..fd7018886 100644 --- a/frontend/src/app/components/mempool-block/mempool-block.component.html +++ b/frontend/src/app/components/mempool-block/mempool-block.component.html @@ -2,7 +2,7 @@

{{ ordinal$ | async }}

- +
diff --git a/frontend/src/app/components/menu/menu.component.html b/frontend/src/app/components/menu/menu.component.html index 848f505a1..6c0bdb61c 100644 --- a/frontend/src/app/components/menu/menu.component.html +++ b/frontend/src/app/components/menu/menu.component.html @@ -9,15 +9,15 @@ @{{ user.username }} - + OG #{{ user.ogRank }} @if (user.subscription_tag !== 'free') { - + {{ user.subscription_tag.toUpperCase() }} } @else if (user.type === 'mining_pool') { - + MINING POOL } diff --git a/frontend/src/app/components/menu/menu.component.scss b/frontend/src/app/components/menu/menu.component.scss index 3bec556fd..8c2fa4842 100644 --- a/frontend/src/app/components/menu/menu.component.scss +++ b/frontend/src/app/components/menu/menu.component.scss @@ -45,13 +45,14 @@ right: 0; } -.sidenav a, button{ +.sidenav a, .sidenav button{ text-decoration: none; color: lightgray; margin-left: 20px; } -.sidenav a:hover { - color: white; + +.sidenav a:hover, .sidenav button:hover, .sidenav button:focus-visible { + color: var(--fg); } .sidenav nav { width: 100%; diff --git a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html index 09479b3f1..06aef2ea1 100644 --- a/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html +++ b/frontend/src/app/components/mining-dashboard/mining-dashboard.component.html @@ -27,7 +27,7 @@
-
+
@@ -39,7 +39,7 @@
-
+
diff --git a/frontend/src/app/components/ngx-bootstrap-multiselect/ngx-bootstrap-multiselect.component.html b/frontend/src/app/components/ngx-bootstrap-multiselect/ngx-bootstrap-multiselect.component.html index 055f2789e..c17547a58 100644 --- a/frontend/src/app/components/ngx-bootstrap-multiselect/ngx-bootstrap-multiselect.component.html +++ b/frontend/src/app/components/ngx-bootstrap-multiselect/ngx-bootstrap-multiselect.component.html @@ -9,11 +9,9 @@ [class.pull-right]="settings.pullRight" [class.dropdown-menu-right]="settings.pullRight" [style.max-height]="settings.maxHeight" style="display: block; height: auto; overflow-y: auto;" (keydown.tab)="focusItem(1, $event)" (keydown.shift.tab)="focusItem(-1, $event)">
-
- - - -
+ + +
diff --git a/frontend/src/app/components/ord-data/ord-data.component.html b/frontend/src/app/components/ord-data/ord-data.component.html index 8e58e66a4..949b2c71f 100644 --- a/frontend/src/app/components/ord-data/ord-data.component.html +++ b/frontend/src/app/components/ord-data/ord-data.component.html @@ -35,9 +35,9 @@
@if (contentType.key !== 'undefined') { - {{ contentType.value.count > 1 ? contentType.value.count + " " : "" }}{{ contentType.value?.tag || contentType.key }} + {{ contentType.value.count > 1 ? contentType.value.count + " " : "" }}{{ contentType.value?.tag || contentType.key }} } @else { - Unknown + Unknown } {{ contentType.value.totalSize | bytes:2:'B':undefined:true }} diff --git a/frontend/src/app/components/ord-data/ord-data.component.scss b/frontend/src/app/components/ord-data/ord-data.component.scss index b218359d9..8df7af66f 100644 --- a/frontend/src/app/components/ord-data/ord-data.component.scss +++ b/frontend/src/app/components/ord-data/ord-data.component.scss @@ -20,12 +20,15 @@ a.disabled { } .badge-ord { - background-color: var(--grey); + --bs-btn-bg: var(--grey); + --bs-btn-border-color: transparent; + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); position: relative; top: -2px; font-size: 81%; &.primary { - background-color: var(--primary); + --bs-btn-bg: var(--primary); } } diff --git a/frontend/src/app/components/pool-ranking/pool-ranking.component.html b/frontend/src/app/components/pool-ranking/pool-ranking.component.html index f6aa4d4b9..84bd949bb 100644 --- a/frontend/src/app/components/pool-ranking/pool-ranking.component.html +++ b/frontend/src/app/components/pool-ranking/pool-ranking.component.html @@ -34,43 +34,50 @@
Pools Ranking -
-
-
- - - - - - - - - - + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -92,7 +99,7 @@ Pool Hashrate Blocks - Avg Health Avg Block Fees Empty Blocks @@ -101,7 +108,7 @@ {{ pool.rank }} - +
{{ pool.name }} @@ -111,16 +118,16 @@ {{ pool.blockCount }} ({{ pool.share }}%) - + {{ pool.avgMatchRate }}% - Unknown + Unknown @@ -135,7 +142,7 @@ - + All miners {{ miningStats.lastEstimatedHashrate| number: '1.2-2' }} {{ miningStats.miningUnits.hashrateUnit }} {{ miningStats.lastEstimatedHashrate3d | number: '1.2-2' }} {{ miningStats.miningUnits.hashrateUnit }} diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index 62083c9a6..85105a058 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -6,7 +6,7 @@
+ onError="this.onerror=null; this.src = '/resources/mining-pools/default.svg'" class="me-3">

{{ poolStats.pool.name }}

@@ -68,7 +68,7 @@ Addresses
@@ -18,44 +18,31 @@
-
- - - - - +
+ + + + + + + + + +
-
- - - - - - +
+ + + + + + + + + + + +
@@ -108,12 +95,12 @@
Transaction vBytes per second (vB/s) -
- + diff --git a/frontend/src/app/components/statistics/statistics.component.scss b/frontend/src/app/components/statistics/statistics.component.scss index ac62fb4cd..6254371d5 100644 --- a/frontend/src/app/components/statistics/statistics.component.scss +++ b/frontend/src/app/components/statistics/statistics.component.scss @@ -153,7 +153,6 @@ width: 50%; flex-grow: 1; flex-shrink: 1; - margin: 1px 0; margin-right: 0.5rem; @media (min-width: 830px) { width: auto; @@ -196,11 +195,11 @@ } @media (min-width: 500px) { - .btn-group:first-child > .btn:last-child { + .btn-group:first-child > .btn:last-of-type { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .btn-group:last-child > .btn:first-child { + .btn-group:last-child > .btn:first-of-type { border-top-left-radius: 0; border-bottom-left-radius: 0; } @@ -209,16 +208,16 @@ @media (max-width: 499px) { flex-direction: column; - .btn-group:first-child > .btn:first-child { + .btn-group:first-child > .btn:first-of-type { border-bottom-left-radius: 0; } - .btn-group:first-child > .btn:last-child { + .btn-group:first-child > .btn:last-of-type { border-bottom-right-radius: 0; } - .btn-group:last-child > .btn:first-child { + .btn-group:last-child > .btn:first-of-type { border-top-left-radius: 0; } - .btn-group:last-child > .btn:last-child { + .btn-group:last-child > .btn:last-of-type { border-top-right-radius: 0; } } diff --git a/frontend/src/app/components/stratum/stratum-list/stratum-list.component.html b/frontend/src/app/components/stratum/stratum-list/stratum-list.component.html index 9fcaf64c3..c13c885d0 100644 --- a/frontend/src/app/components/stratum/stratum-list/stratum-list.component.html +++ b/frontend/src/app/components/stratum/stratum-list/stratum-list.component.html @@ -1,5 +1,5 @@
-

Stratum Jobs

+

Stratum Jobs

diff --git a/frontend/src/app/components/terms-of-service/terms-of-service.component.html b/frontend/src/app/components/terms-of-service/terms-of-service.component.html index 311861c12..16f2f3fe5 100644 --- a/frontend/src/app/components/terms-of-service/terms-of-service.component.html +++ b/frontend/src/app/components/terms-of-service/terms-of-service.component.html @@ -9,7 +9,7 @@

-
+

The mempool.space website, the liquid.network website, the bitcoin.gob.sv website, their associated API services, and related network and server infrastructure (collectively, the "Website") are operated by Mempool Holdings S.A. de C.V. in El Salvador ("Mempool", "We", or "Us") and self-hosted from AS142052.

diff --git a/frontend/src/app/components/test-transactions/test-transactions.component.html b/frontend/src/app/components/test-transactions/test-transactions.component.html index 181db8b01..14b7970a8 100644 --- a/frontend/src/app/components/test-transactions/test-transactions.component.html +++ b/frontend/src/app/components/test-transactions/test-transactions.component.html @@ -1,6 +1,6 @@
-

Test Transactions

+

Test Transactions

@@ -13,7 +13,7 @@
- +

{{ error }}

diff --git a/frontend/src/app/components/theme-selector/theme-selector.component.html b/frontend/src/app/components/theme-selector/theme-selector.component.html index c74e0c2c6..e74767e21 100644 --- a/frontend/src/app/components/theme-selector/theme-selector.component.html +++ b/frontend/src/app/components/theme-selector/theme-selector.component.html @@ -1,5 +1,5 @@
- diff --git a/frontend/src/app/components/theme-selector/theme-selector.component.scss b/frontend/src/app/components/theme-selector/theme-selector.component.scss index df9585301..54a2abcc8 100644 --- a/frontend/src/app/components/theme-selector/theme-selector.component.scss +++ b/frontend/src/app/components/theme-selector/theme-selector.component.scss @@ -1,7 +1,7 @@ -.custom-select { - width: 100px; +.form-select { + width: 108px; } -.custom-select:disabled { +.form-select:disabled { opacity: 0.6; } diff --git a/frontend/src/app/components/timezone-selector/timezone-selector.component.html b/frontend/src/app/components/timezone-selector/timezone-selector.component.html index f763bffef..3e43fcbeb 100644 --- a/frontend/src/app/components/timezone-selector/timezone-selector.component.html +++ b/frontend/src/app/components/timezone-selector/timezone-selector.component.html @@ -1,5 +1,5 @@
- diff --git a/frontend/src/app/components/tracker/tracker.component.html b/frontend/src/app/components/tracker/tracker.component.html index c87a7fc81..4637c1003 100644 --- a/frontend/src/app/components/tracker/tracker.component.html +++ b/frontend/src/app/components/tracker/tracker.component.html @@ -18,13 +18,13 @@ } @if (!enterpriseInfo || !enterpriseInfo.dualLogo) { -
- Bitcoin Signet - Bitcoin Testnet3 - Bitcoin Testnet4 - Liquid - Liquid Testnet - Bitcoin +
+ Bitcoin Signet + Bitcoin Testnet3 + Bitcoin Testnet4 + Liquid + Liquid Testnet + Bitcoin
}
@@ -205,4 +205,4 @@ See more details 
-
\ No newline at end of file +
diff --git a/frontend/src/app/components/tracker/tracker.component.scss b/frontend/src/app/components/tracker/tracker.component.scss index 5fc4c4ccf..1ffc63e8f 100644 --- a/frontend/src/app/components/tracker/tracker.component.scss +++ b/frontend/src/app/components/tracker/tracker.component.scss @@ -204,7 +204,7 @@ } .alert-replaced { - background: var(--danger); + background: var(--red); margin: 1em 0.5em; padding: 0.5em; border-radius: 0.5em; diff --git a/frontend/src/app/components/trademark-policy/trademark-policy.component.html b/frontend/src/app/components/trademark-policy/trademark-policy.component.html index 8c4c73b2f..cf8234891 100644 --- a/frontend/src/app/components/trademark-policy/trademark-policy.component.html +++ b/frontend/src/app/components/trademark-policy/trademark-policy.component.html @@ -11,7 +11,7 @@
Updated: February 11, 2025

-
+
    diff --git a/frontend/src/app/components/transaction/cpfp-info.component.html b/frontend/src/app/components/transaction/cpfp-info.component.html index c287a6165..e407bf576 100644 --- a/frontend/src/app/components/transaction/cpfp-info.component.html +++ b/frontend/src/app/components/transaction/cpfp-info.component.html @@ -1,6 +1,6 @@
    -

    Related Transactions

    +

    Related Transactions

    @@ -17,7 +17,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -41,7 +41,7 @@ - + diff --git a/frontend/src/app/components/transaction/transaction-details/transaction-details.component.html b/frontend/src/app/components/transaction/transaction-details/transaction-details.component.html index 50b8ddbfa..2dfd124c2 100644 --- a/frontend/src/app/components/transaction/transaction-details/transaction-details.component.html +++ b/frontend/src/app/components/transaction/transaction-details/transaction-details.component.html @@ -124,22 +124,22 @@ @@ -170,7 +170,7 @@ @if (!tx?.acceleration && acceleratorAvailable && accelerateCtaType === 'button' && !showAccelerationSummary && notAcceleratedOnLoad) { @@ -198,10 +198,10 @@ @@ -260,11 +260,11 @@ } @if (tx?.status?.confirmed && !tx.acceleration && !accelerationInfo && tx.fee && tx.effectiveFeePerVsize) { - + } @if (hasCpfp) { - + } diff --git a/frontend/src/app/components/transaction/transaction-details/transaction-details.component.scss b/frontend/src/app/components/transaction/transaction-details/transaction-details.component.scss index 9bb32ba4a..af2255427 100644 --- a/frontend/src/app/components/transaction/transaction-details/transaction-details.component.scss +++ b/frontend/src/app/components/transaction/transaction-details/transaction-details.component.scss @@ -133,6 +133,11 @@ } } +.cpfp-toggle { + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); +} + .eta { display: flex; flex-wrap: wrap; @@ -158,6 +163,9 @@ .accelerateDeepMempool { background-color: var(--tertiary); margin-left: 5px; + --bs-btn-active-bg: var(--tertiary); + --bs-btn-active-border-color: transparent; + --bs-btn-active-color: var(--fg); } .goggles-icon { diff --git a/frontend/src/app/components/transaction/transaction-preview.component.html b/frontend/src/app/components/transaction/transaction-preview.component.html index 066e0d442..4cc75262b 100644 --- a/frontend/src/app/components/transaction/transaction-preview.component.html +++ b/frontend/src/app/components/transaction/transaction-preview.component.html @@ -8,20 +8,20 @@
    - + CPFP
    - + Confidential ‎{{ transactionTime * 1000 | date:'yyyy-MM-dd HH:mm' }} - Fee {{ tx.fee | number }} sats + Fee {{ tx.fee | number }} sats
    diff --git a/frontend/src/app/components/transaction/transaction-raw.component.html b/frontend/src/app/components/transaction/transaction-raw.component.html index 52b0fa2c2..85646eaf8 100644 --- a/frontend/src/app/components/transaction/transaction-raw.component.html +++ b/frontend/src/app/components/transaction/transaction-raw.component.html @@ -8,7 +8,7 @@
    - + - - @@ -182,7 +184,7 @@
    LBTC Supply vs. BTC Holdings
    -
    +
    @@ -326,7 +328,7 @@
    LBTC Supply vs. BTC Holdings
    -
    +
    diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index fabe71a52..f9a2343f4 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -1,5 +1,5 @@ -
    +
    diff --git a/frontend/src/app/lightning/channel/channel-box/channel-box.component.html b/frontend/src/app/lightning/channel/channel-box/channel-box.component.html index effe6b891..4e3d03dc7 100644 --- a/frontend/src/app/lightning/channel/channel-box/channel-box.component.html +++ b/frontend/src/app/lightning/channel/channel-box/channel-box.component.html @@ -39,13 +39,13 @@ - Zero base fee - Non-zero base fee diff --git a/frontend/src/app/lightning/channel/channel-preview.component.html b/frontend/src/app/lightning/channel/channel-preview.component.html index 4d71bcef0..f68fe4c63 100644 --- a/frontend/src/app/lightning/channel/channel-preview.component.html +++ b/frontend/src/app/lightning/channel/channel-preview.component.html @@ -7,9 +7,9 @@

    {{ channel.short_id }}

    - Inactive - Active - Closed + Inactive + Active + Closed
    diff --git a/frontend/src/app/lightning/channel/channel.component.html b/frontend/src/app/lightning/channel/channel.component.html index 290199210..19cad58d0 100644 --- a/frontend/src/app/lightning/channel/channel.component.html +++ b/frontend/src/app/lightning/channel/channel.component.html @@ -10,9 +10,9 @@
    - Inactive - Active - Closed + Inactive + Active + Closed
    diff --git a/frontend/src/app/lightning/channel/closing-type/closing-type.component.html b/frontend/src/app/lightning/channel/closing-type/closing-type.component.html index 60461d1c0..4db4af374 100644 --- a/frontend/src/app/lightning/channel/closing-type/closing-type.component.html +++ b/frontend/src/app/lightning/channel/closing-type/closing-type.component.html @@ -1 +1 @@ -{{ label.label }} \ No newline at end of file +{{ label.label }} \ No newline at end of file diff --git a/frontend/src/app/lightning/channels-list/channels-list.component.html b/frontend/src/app/lightning/channels-list/channels-list.component.html index 876551dc7..75a6df128 100644 --- a/frontend/src/app/lightning/channels-list/channels-list.component.html +++ b/frontend/src/app/lightning/channels-list/channels-list.component.html @@ -2,10 +2,10 @@
    @@ -19,7 +19,7 @@
    DescendantDescendant
    DescendantDescendant
    AncestorAncestor @if (auditStatus.coinbase) { - Coinbase + Coinbase } @else if (auditStatus.expected) { - Expected in Block + Expected in Block } @else if (auditStatus.seen) { - Seen in Mempool + Seen in Mempool } @else if (!auditStatus.conflict) { - Not seen in Mempool + Not seen in Mempool } @if (auditStatus.added) { - Added + Added } @if (auditStatus.prioritized) { - Prioritized + Prioritized } @if (auditStatus.conflict) { - Conflict + Conflict } @if (isAcceleration) { - Accelerated + Accelerated } - {{ filter.label }} + {{ filter.label }}
    - Coinbase (Newly Generated Coins)
    {{ vin.scriptsig | hex2ascii }}
    + Coinbase (Newly Generated Coins)
    {{ vin.scriptsig | hex2ascii }}
    Peg-in @@ -119,7 +119,7 @@
    + +
    @@ -512,17 +512,17 @@
    -
    +
     – {{ tx.fee | number }} sats
    -
    Show more inputs to reveal fee data
    +
    Show more inputs to reveal fee data
    -
    +
    @if (!tx.status?.confirmed && acceleratedTxids) { - - diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.scss b/frontend/src/app/components/transactions-list/transactions-list.component.scss index 2aede0c64..1a441d613 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.scss +++ b/frontend/src/app/components/transactions-list/transactions-list.component.scss @@ -332,13 +332,16 @@ h2 { } .badge-ord { - background-color: var(--grey); + --bs-btn-bg: var(--grey); + --bs-btn-border-color: transparent; + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); position: relative; top: -2px; font-size: 81%; border: 0; &.primary { - background-color: var(--primary); + --bs-btn-bg: var(--primary); } } diff --git a/frontend/src/app/components/treasuries/treasuries.component.html b/frontend/src/app/components/treasuries/treasuries.component.html index 122e77183..00bb7d79f 100644 --- a/frontend/src/app/components/treasuries/treasuries.component.html +++ b/frontend/src/app/components/treasuries/treasuries.component.html @@ -46,7 +46,7 @@
    -
    +
    Treasury Distribution
    -
    + diff --git a/frontend/src/app/components/twitter-login/twitter-login.component.html b/frontend/src/app/components/twitter-login/twitter-login.component.html index 5e687341c..9e2526c6f 100644 --- a/frontend/src/app/components/twitter-login/twitter-login.component.html +++ b/frontend/src/app/components/twitter-login/twitter-login.component.html @@ -1,6 +1,6 @@ - {{ buttonString }} + {{ buttonString }} diff --git a/frontend/src/app/components/twitter-widget/twitter-widget.component.html b/frontend/src/app/components/twitter-widget/twitter-widget.component.html index d1e042d60..8e8b4e64b 100644 --- a/frontend/src/app/components/twitter-widget/twitter-widget.component.html +++ b/frontend/src/app/components/twitter-widget/twitter-widget.component.html @@ -1,6 +1,6 @@ @if (loading) {
    -
    +
    } @else if (error) {
    diff --git a/frontend/src/app/components/tx-features/tx-features.component.html b/frontend/src/app/components/tx-features/tx-features.component.html index e9e7a3b53..517facabb 100644 --- a/frontend/src/app/components/tx-features/tx-features.component.html +++ b/frontend/src/app/components/tx-features/tx-features.component.html @@ -1,30 +1,30 @@ -SegWit +SegWit - SegWit + SegWit - SegWit + SegWit -Taproot +Taproot - Taproot + Taproot - Taproot + Taproot - Taproot + Taproot - Taproot + Taproot -RBF -RBF +RBF +RBF diff --git a/frontend/src/app/components/tx-fee-rating/tx-fee-rating.component.html b/frontend/src/app/components/tx-fee-rating/tx-fee-rating.component.html index 09062ed79..13e9cbc71 100644 --- a/frontend/src/app/components/tx-fee-rating/tx-fee-rating.component.html +++ b/frontend/src/app/components/tx-fee-rating/tx-fee-rating.component.html @@ -1,3 +1,3 @@ -Optimal -Overpaid {{ overpaidTimes }}x -Overpaid {{ overpaidTimes }}x +Optimal +Overpaid {{ overpaidTimes }}x +Overpaid {{ overpaidTimes }}x diff --git a/frontend/src/app/components/wallet/wallet.component.html b/frontend/src/app/components/wallet/wallet.component.html index 9aa82b818..4eaeecdf5 100644 --- a/frontend/src/app/components/wallet/wallet.component.html +++ b/frontend/src/app/components/wallet/wallet.component.html @@ -62,7 +62,7 @@
    -

    Balance History

    +

    Balance History

    @@ -77,7 +77,7 @@
    -

    Transactions

    +

    Transactions

    diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 3b971a88c..1fd8af358 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -16,17 +16,19 @@
    -
    +
    Mempool Goggles® : {{ goggleCycle[goggleIndex].name }}
     
    -
    - +
    + + + +
    @@ -83,9 +85,9 @@
    - Mined - Full RBF - RBF + Mined + Full RBF + RBF
    - @@ -35,18 +35,18 @@ - Alias -   - Status - Fee rate - Closing date - Capacity - Channel ID + Alias +   + Status + Fee rate + Closing date + Capacity + Channel ID - +
    @@ -54,7 +54,7 @@
    - +
    @@ -65,29 +65,29 @@
    - Inactive - Active + Inactive + Active - Closed + Closed - + {{ channel.fee_rate }} ppm ({{ channel.fee_rate / 10000 | number }}%) - + - + {{ channel.capacity | amountShortener: 1 }} sats - + {{ channel.short_id }}
    @@ -97,22 +97,22 @@ - + - + - + - + - + - + diff --git a/frontend/src/app/lightning/group/group.component.html b/frontend/src/app/lightning/group/group.component.html index dc13f4ca2..ea233a6ec 100644 --- a/frontend/src/app/lightning/group/group.component.html +++ b/frontend/src/app/lightning/group/group.component.html @@ -43,7 +43,7 @@
    -
    +
    @@ -57,10 +57,10 @@
    @@ -69,13 +69,13 @@
    - - - + + + - - - diff --git a/frontend/src/app/lightning/group/group.component.scss b/frontend/src/app/lightning/group/group.component.scss index 61bc87ca8..ac81a03a4 100644 --- a/frontend/src/app/lightning/group/group.component.scss +++ b/frontend/src/app/lightning/group/group.component.scss @@ -31,6 +31,15 @@ h1 { #inputGroupFileAddon04 { position: relative; + border-start-start-radius: var(--bs-border-radius); + border-start-end-radius: var(--bs-border-radius); + border-end-start-radius: var(--bs-border-radius); + border-end-end-radius: var(--bs-border-radius); +} + +.input-group > .form-control { + border-start-end-radius: var(--bs-border-radius) !important; + border-end-end-radius: var(--bs-border-radius) !important; } .toggle-holder { diff --git a/frontend/src/app/lightning/justice-list/justice-list.component.html b/frontend/src/app/lightning/justice-list/justice-list.component.html index 9f341b0c8..1639eba41 100644 --- a/frontend/src/app/lightning/justice-list/justice-list.component.html +++ b/frontend/src/app/lightning/justice-list/justice-list.component.html @@ -1,7 +1,7 @@
    -

    Penalties

    +

    Penalties

    @@ -9,10 +9,10 @@
    AliasConnectLocationAliasConnectLocation
    +
    {{ node.alias }}
    {{ node.opened_channel_count }} channel(s), @@ -85,7 +85,7 @@
    +
    {{ node.socketsObject[selectedSocketIndex].label }} @@ -102,7 +102,7 @@
    +
    - - - - + + + + @@ -21,23 +21,23 @@ - - - - - diff --git a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.html b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.html index 490a5d706..c38b7bbe1 100644 --- a/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.html +++ b/frontend/src/app/lightning/lightning-dashboard/lightning-dashboard.component.html @@ -35,7 +35,7 @@
    -
    +
    @@ -47,7 +47,7 @@
    -
    +
    Lightning Network History
    diff --git a/frontend/src/app/lightning/node/node-preview.component.html b/frontend/src/app/lightning/node/node-preview.component.html index 6eb5b7848..22aec880a 100644 --- a/frontend/src/app/lightning/node/node-preview.component.html +++ b/frontend/src/app/lightning/node/node-preview.component.html @@ -8,7 +8,7 @@

    {{ node.alias }}

    - {{ socketType }} + {{ socketType }}
    diff --git a/frontend/src/app/lightning/node/node.component.html b/frontend/src/app/lightning/node/node.component.html index 546b9ecf0..8ca9c85db 100644 --- a/frontend/src/app/lightning/node/node.component.html +++ b/frontend/src/app/lightning/node/node.component.html @@ -97,7 +97,7 @@
    ClosedCapacityNodesChannel IDCapacityNodesChannel ID
    + {{ channel.capacity | amountShortener: 1 }} sats + + + {{ channel.short_id }} + - Exclusively on Tor + Exclusively on Tor Unknown @@ -167,7 +167,7 @@ - @@ -290,7 +290,7 @@ Closed channels ({{ node.closed_channel_count }}) -
    +
    - diff --git a/frontend/src/app/lightning/node/node.component.scss b/frontend/src/app/lightning/node/node.component.scss index 9d70bae30..67a1ac0e7 100644 --- a/frontend/src/app/lightning/node/node.component.scss +++ b/frontend/src/app/lightning/node/node.component.scss @@ -33,6 +33,15 @@ #inputGroupFileAddon04 { position: relative; + border-start-start-radius: var(--bs-border-radius); + border-start-end-radius: var(--bs-border-radius); + border-end-start-radius: var(--bs-border-radius); + border-end-end-radius: var(--bs-border-radius); +} + +.input-group > .form-control { + border-start-end-radius: var(--bs-border-radius) !important; + border-end-end-radius: var(--bs-border-radius) !important; } app-fiat { diff --git a/frontend/src/app/lightning/nodes-list/nodes-list.component.html b/frontend/src/app/lightning/nodes-list/nodes-list.component.html index f4fe7a644..1387daf87 100644 --- a/frontend/src/app/lightning/nodes-list/nodes-list.component.html +++ b/frontend/src/app/lightning/nodes-list/nodes-list.component.html @@ -2,19 +2,19 @@ - - - + + + - - - @@ -22,13 +22,13 @@ - - - diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html index 7571beacf..84e09a906 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.html @@ -3,34 +3,39 @@
    Lightning Nodes Per Network -
    -
    - - - - - - - +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/frontend/src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html b/frontend/src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html index cbe9ed6b1..e2a12e39f 100644 --- a/frontend/src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html +++ b/frontend/src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -3,7 +3,7 @@
    Lightning Nodes Per Country -
    @@ -24,26 +24,26 @@
    AliasCapacityChannelsAliasCapacityChannels
    + {{ node.alias }} + + {{ node.channels | number }}
    + + +
    - - - - - + + + + + - - + - - - + +
    RankNameNodesCapacityRankNameNodesCapacity
    {{ country.rank }} + {{ country.rank }} {{ country.flag }}   {{ country.name.en }} {{ country.count }} + {{ country.count }} {{ country.capacity ?? 0 | amountShortener: 1 }} diff --git a/frontend/src/app/lightning/nodes-per-country/nodes-per-country.component.html b/frontend/src/app/lightning/nodes-per-country/nodes-per-country.component.html index 0d982f127..350437f92 100644 --- a/frontend/src/app/lightning/nodes-per-country/nodes-per-country.component.html +++ b/frontend/src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -45,7 +45,7 @@
    -
    +
    @@ -57,35 +57,35 @@ - - - - - - + + + + + + - - - - - - @@ -93,22 +93,22 @@ - - - - - - @@ -117,7 +117,7 @@
    AliasFirst seenLast updateCapacityChannelsLocationAliasFirst seenLast updateCapacityChannelsLocation
    + {{ node.alias }} + + + {{ node.capacity | amountShortener: 1 }} sats + {{ node.channels }} +
    + + + + + +
    - diff --git a/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html b/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html index e71e6fb7d..bbd698704 100644 --- a/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html +++ b/frontend/src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -29,7 +29,7 @@
    Top 100 ISPs hosting LN nodes -
    @@ -50,22 +50,22 @@ - - - - - + + + + + - - + - - - + + +
    RankISPNodesCapacityRankISPNodesCapacity
    {{ isp[5] }} + {{ isp[5] }} {{ isp[1] }} {{ isp[4] }}{{ isp[4] }}
    diff --git a/frontend/src/app/lightning/nodes-per-isp/nodes-per-isp.component.html b/frontend/src/app/lightning/nodes-per-isp/nodes-per-isp.component.html index cfb688b8b..39c975e0e 100644 --- a/frontend/src/app/lightning/nodes-per-isp/nodes-per-isp.component.html +++ b/frontend/src/app/lightning/nodes-per-isp/nodes-per-isp.component.html @@ -42,7 +42,7 @@
    -
    +
    @@ -54,35 +54,35 @@ - - - - - - + + + + + + - - - - - - @@ -90,22 +90,22 @@ - - - - - - @@ -114,7 +114,7 @@
    AliasFirst seenLast updateCapacityChannelsLocationAliasFirst seenLast updateCapacityChannelsLocation
    + {{ node.alias }} + + + {{ node.capacity | amountShortener: 1 }} sats + {{ node.channels }} +
    + + + + + +
    - diff --git a/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html b/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html index e29a85b2a..df9b2f62a 100644 --- a/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html +++ b/frontend/src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html @@ -1,5 +1,5 @@
    -

    +

    Top 100 oldest lightning nodes

    @@ -7,34 +7,34 @@ - - - - - - + + + + + + - - - - - - - @@ -42,25 +42,25 @@ - - - - - - - diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html index 27af80564..b43e4c133 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html @@ -1,48 +1,48 @@
    -

    Liquidity Ranking

    +

    Liquidity Ranking

    AliasFirst seenLiquidityChannelsLast updateLocationAliasFirst seenLiquidityChannelsLast updateLocation
    + {{ i + 1 }} + {{ node.alias }} + ‎{{ node.firstSeen * 1000 | date: 'yyyy-MM-dd' }} + + {{ node.channels | number }} + +
    + + + + + + +
    - - - - - - - + + + + + + + - - - - - - - diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html index 87f7f1ad2..286cea28a 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html @@ -1,48 +1,48 @@
    -

    Connectivity Ranking

    +

    Connectivity Ranking

    AliasLiquidity{{ currency$ | async }}ChannelsFirst seenLast updateLocationAliasLiquidity{{ currency$ | async }}ChannelsFirst seenLast updateLocation
    + +  ({{ (node?.capacity / data.statistics.totalCapacity * 100) | number:'1.1-1' }}%) + + {{ node.channels | number }}  ({{ (node?.channels / data.statistics.totalChannels * 100) | number:'1.1-1' }}%) + + +
    - - - - - - - + + + + + + + - - - - - - - diff --git a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.html b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.html index 5fd9d257e..8474bdff6 100644 --- a/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.html +++ b/frontend/src/app/lightning/statistics-chart/lightning-statistics-chart.component.html @@ -3,41 +3,39 @@
    Lightning Network Capacity -
    -
    - - - - - - - +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.html b/frontend/src/app/shared/components/global-footer/global-footer.component.html index bc002edb1..277544004 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.html +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.html @@ -46,13 +46,13 @@
    @if (!env.customize?.theme) { -
    +
    } @if (!enterpriseInfo?.footer_img) { - diff --git a/frontend/src/app/shared/components/global-footer/global-footer.component.scss b/frontend/src/app/shared/components/global-footer/global-footer.component.scss index 5f8c9f566..723c7afb5 100644 --- a/frontend/src/app/shared/components/global-footer/global-footer.component.scss +++ b/frontend/src/app/shared/components/global-footer/global-footer.component.scss @@ -360,3 +360,15 @@ footer .nowrap { font-size: 8px; margin-left: 1em; } + +.col-md-12 { + padding-left: 15px; + padding-right: 15px; + + &.row>* { + padding-right: 0; + padding-left: 0; + flex-shrink: unset; + width: unset; + } +} \ No newline at end of file diff --git a/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.html b/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.html index 7e87e312b..93afb9701 100644 --- a/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.html +++ b/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.html @@ -1,13 +1,11 @@
    -
    +
    diff --git a/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.scss b/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.scss index 3042d8305..d7986ac84 100644 --- a/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.scss +++ b/frontend/src/app/shared/components/testnet-alert/testnet-alert.component.scss @@ -7,27 +7,22 @@ display: flex; justify-content: center; - align-items: flex-start; + align-items: center; + position: relative; } .message-container { display: flex; flex-direction: column; - margin-left: auto; + margin: 0 auto; } -.close { - display: flex; - color: #fff; - align-items: center; +.btn-close { + top: 50%; + transform: translateY(-50%); } -button { - display: flex; - margin-left: auto; -} - -span { - position: relative; - top: -2px; +.btn-close:hover, +.btn-close:focus { + opacity: 1; } \ No newline at end of file diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 4225662c6..b4c73b2e9 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -38,7 +38,7 @@ $pagination-hover-bg: $hover-bg; $pagination-hover-border-color: $bg; $pagination-disabled-bg: $bg; -$custom-select-indicator-color: $fg; +$form-select-indicator-color: $fg; $link-color: $info; $link-decoration: none !default; @@ -73,7 +73,7 @@ $dropdown-link-active-bg: $active-bg; $pagination-active-bg: $pagination-active-bg, $pagination-hover-bg: $pagination-hover-bg, $pagination-hover-border-color: $pagination-hover-border-color, - $custom-select-indicator-color: $custom-select-indicator-color, + $form-select-indicator-color: $form-select-indicator-color, $link-color: $link-color, $link-decoration: $link-decoration, $link-hover-color: $link-hover-color, @@ -141,11 +141,16 @@ $dropdown-link-active-bg: $active-bg; --grey: #7e7e7e; --tooltip-grey: #b1b1b1; --orange: #ff9f00; + --pink: #e83e8c; --search-button: #4d2d77; --search-button-border: #472a6e; --search-button-focus: #533180; --search-button-shadow: #7c58ab80; + + --bs-border-radius: 0.25rem; + --bs-btn-border-color: transparent; + --bs-btn-disabled-border-color: transparent; } html, body { @@ -213,8 +218,7 @@ main { .navbar-nav.liquidtestnet > .active { background-color: var(--liquidtestnet) !important; } - -.form-control { +.form-control, .form-select { color: var(--fg); background-color: var(--secondary); border: 1px solid rgba(17, 19, 31, 0.2); @@ -410,6 +414,11 @@ main { color: var(--yellow); } +.table-striped { + --bs-table-striped-bg: var(--stat-box-bg); + --bs-table-striped-color: var(--fg); +} + .table-striped tbody tr:nth-of-type(odd) { background-color: var(--stat-box-bg); } @@ -739,6 +748,7 @@ html:lang(ru) .card-title { hr { border-top: 1px solid rgba(255, 255, 255, 0.1); + opacity: 1; } tr { @@ -929,7 +939,7 @@ th { transform: scaleX(-1); } - .btn.ml-2 { + .btn.ms-2 { margin-right: 0.5rem !important; } @@ -1043,32 +1053,32 @@ th { text-align: right; } - .mr-3 { - @extend .ml-3; + .me-3 { + @extend .ms-3; margin-right: 0 !important; } - .mr-1 { - @extend .ml-1; + .me-1 { + @extend .ms-1; } - .mr-2 { - @extend .ml-2; + .me-2 { + @extend .ms-2; } - .float-left { + .float-start { float: right !important; } - .float-right { + .float-end { float: left !important; } - .text-left { + .text-start { text-align: right !important; } - .text-right { + .text-end { text-align: left !important; } @@ -1429,19 +1439,40 @@ a { } } -.badge-primary { +.bg-primary { color: var(--fg); - background-color: var(--primary); + background-color: var(--primary) !important; } -.badge-info { +.bg-info { + color: var(--bg); background-color: var(--info); } +.bg-warning { + color: var(--bg); +} + +.btn { + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-btn-bg); + --bs-btn-active-border-color: var(--bs-btn-border-color); +} + .btn-primary { - color: var(--fg); - background-color: var(--primary); - border-color: var(--primary); + --bs-btn-color: var(--fg); + --bs-btn-bg: var(--primary); + --bs-btn-border-color: var(--bs-btn-bg); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: #0069d4; + --bs-btn-hover-border-color: #0063c7; + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-btn-hover-border-color); + --bs-btn-active-border-color: #005cba; + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); } .btn-small-height { @@ -1451,3 +1482,103 @@ a { button { touch-action: manipulation; } + +.btn-success { + color: #fff; + &:focus, &:hover, &:active, &:disabled { + color: #fff; + } +} + +.badge { + padding: 0.25em 0.4em; +} + +.table th, .table td { + padding: 0.75rem; +} + +.table-sm th, .table-sm td { + padding: 0.3rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + background-color: unset; +} + +.card-body { + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + padding-right: 15px; + padding-left: 15px; + @media (min-width: 1400px) { + max-width: 1140px; + } +} + +.row { + --bs-gutter-x: 30px; +} + +.progress { + line-height: 0; +} + +.rounded-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.btn-check:focus+.btn { + box-shadow: none !important; + outline: none !important; +} + +.btn-check+.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} + +.table>:not(caption)>*>* { + border-bottom-width: 0px; + color: unset; + background-color: unset; +} + +.tooltip-inner { + color: unset; +} + +.form-control::placeholder { + color: var(--grey); +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.nav-tabs .nav-link.active { + color: #fff; +} + +.text-muted { + color: var(--grey) !important; +} + +form label:not(.form-check-label):not(.btn) { + margin-bottom: 0.5rem; +} \ No newline at end of file diff --git a/frontend/src/theme-bukele.scss b/frontend/src/theme-bukele.scss index 58cf29b4c..6d3e21125 100644 --- a/frontend/src/theme-bukele.scss +++ b/frontend/src/theme-bukele.scss @@ -38,7 +38,7 @@ $pagination-hover-bg: $hover-bg; $pagination-hover-border-color: $bg; $pagination-disabled-bg: $bg; -$custom-select-indicator-color: $fg; +$form-select-indicator-color: $fg; .input-group-text { background-color: #1c2031 !important; @@ -108,6 +108,7 @@ $dropdown-link-active-bg: $active-bg; --grey: #7e7e7e; --tooltip-grey: #b1b1b1; --orange: #ff9f00; + --pink: #e83e8c; --search-button: #d5a90a; --search-button-border: #d5a90a; diff --git a/frontend/src/theme-contrast.scss b/frontend/src/theme-contrast.scss index 2a2d3f1a2..93615dad4 100644 --- a/frontend/src/theme-contrast.scss +++ b/frontend/src/theme-contrast.scss @@ -38,7 +38,7 @@ $pagination-hover-bg: $hover-bg; $pagination-hover-border-color: $bg; $pagination-disabled-bg: $bg; -$custom-select-indicator-color: $fg; +$form-select-indicator-color: $fg; .input-group-text { background-color: #1c2031 !important; @@ -108,6 +108,7 @@ $dropdown-link-active-bg: $active-bg; --grey: #7e7e7e; --tooltip-grey: #b1b1b1; --orange: #ff9f00; + --pink: #e83e8c; --search-button: #4d2d77; --search-button-border: #472a6e; diff --git a/frontend/src/theme-softsimon.scss b/frontend/src/theme-softsimon.scss index e72825f41..42dd67f46 100644 --- a/frontend/src/theme-softsimon.scss +++ b/frontend/src/theme-softsimon.scss @@ -38,7 +38,7 @@ $pagination-hover-bg: $hover-bg; $pagination-hover-border-color: $bg; $pagination-disabled-bg: $bg; -$custom-select-indicator-color: $fg; +$form-select-indicator-color: $fg; .input-group-text { background-color: #1c2031 !important; @@ -108,6 +108,7 @@ $dropdown-link-active-bg: $active-bg; --grey: #6c757d; --tooltip-grey: #b1b1b1; --orange: #b86d12; + --pink: #d63384; --search-button: #4d2d77; --search-button-border: #472a6e;
    AliasChannelsCapacity{{ currency$ | async }}First seenLast updateLocationAliasChannelsCapacity{{ currency$ | async }}First seenLast updateLocation
    + + {{ node.channels ? (node.channels | number) : '~' }}  ({{ (node?.channels / data.statistics.totalChannels * 100) | number:'1.1-1' }}%) +  ({{ (node.capacity / data.statistics.totalCapacity * 100) | number:'1.1-1' }}%) + + + +