diff --git a/frontend/src/app/components/miner/miner.component.html b/frontend/src/app/components/miner/miner.component.html index 4a54fb4d0..f4798d07d 100644 --- a/frontend/src/app/components/miner/miner.component.html +++ b/frontend/src/app/components/miner/miner.component.html @@ -4,7 +4,7 @@ - {{ miner }} + {{ miner }} Unknown diff --git a/frontend/src/app/components/miner/miner.component.ts b/frontend/src/app/components/miner/miner.component.ts index c022526fb..babda3dad 100644 --- a/frontend/src/app/components/miner/miner.component.ts +++ b/frontend/src/app/components/miner/miner.component.ts @@ -1,6 +1,8 @@ import { Component, Input, OnChanges, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; import { AssetsService } from 'src/app/services/assets.service'; import { Transaction } from 'src/app/interfaces/electrs.interface'; +import { StateService } from 'src/app/services/state.service'; +import { RelativeUrlPipe } from 'src/app/shared/pipes/relative-url/relative-url.pipe'; @Component({ selector: 'app-miner', @@ -13,11 +15,14 @@ export class MinerComponent implements OnChanges { miner = ''; title = ''; url = ''; + target = '_blank'; loading = true; constructor( private assetsService: AssetsService, private cd: ChangeDetectorRef, + public stateService: StateService, + private relativeUrlPipe: RelativeUrlPipe, ) { } ngOnChanges() { @@ -40,7 +45,13 @@ export class MinerComponent implements OnChanges { if (pools.payout_addresses[vout.scriptpubkey_address]) { this.miner = pools.payout_addresses[vout.scriptpubkey_address].name; this.title = $localize`:@@miner-identified-by-payout:Identified by payout address: '${vout.scriptpubkey_address}:PAYOUT_ADDRESS:'`; - this.url = pools.payout_addresses[vout.scriptpubkey_address].link; + const pool = pools.payout_addresses[vout.scriptpubkey_address]; + if (this.stateService.env.MINING_DASHBOARD && pools.slugs[pool.name] !== undefined) { + this.url = this.relativeUrlPipe.transform(`/mining/pool/${pools.slugs[pool.name]}`); + this.target = ''; + } else { + this.url = pool.link; + } break; } @@ -48,9 +59,15 @@ export class MinerComponent implements OnChanges { if (pools.coinbase_tags.hasOwnProperty(tag)) { const coinbaseAscii = this.hex2ascii(this.coinbaseTransaction.vin[0].scriptsig); if (coinbaseAscii.indexOf(tag) > -1) { - this.miner = pools.coinbase_tags[tag].name; + const pool = pools.coinbase_tags[tag]; + this.miner = pool.name; this.title = $localize`:@@miner-identified-by-coinbase:Identified by coinbase tag: '${tag}:TAG:'`; - this.url = pools.coinbase_tags[tag].link; + if (this.stateService.env.MINING_DASHBOARD && pools.slugs[pool.name] !== undefined) { + this.url = this.relativeUrlPipe.transform(`/mining/pool/${pools.slugs[pool.name]}`); + this.target = ''; + } else { + this.url = pool.link; + } break; } } diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index 240648e2c..9750e503c 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -9,44 +9,104 @@
+
- - - + + + + + + + - - - + + - - - + + + + +
Tags -
+ + +
Tags + {{ poolStats.pool.regexes }} +
+ Tags +
{{ poolStats.pool.regexes }}
Addresses -
- +
Addresses + + {{ poolStats.pool.addresses[0] }} + + + ~
+ Addresses +
+ + + {{ poolStats.pool.addresses[0] | shortenString: 40 }} + + +
+
+
- - + + + + - - + + + + + + + + + + + + +
Mined Blocks
Mined Blocks {{ formatNumber(poolStats.blockCount, this.locale, '1.0-0') }}
Empty Blocks
+ Mined Blocks +
{{ formatNumber(poolStats.blockCount, this.locale, '1.0-0') }}
+
Empty Blocks {{ formatNumber(poolStats.emptyBlocks, this.locale, '1.0-0') }}
+ Blocks +
{{ formatNumber(poolStats.emptyBlocks, this.locale, '1.0-0') }}
+
@@ -54,14 +114,20 @@
+ + ~ + + +
~
+
+
- +
@@ -147,7 +213,9 @@
-

+

+
+

@@ -155,41 +223,88 @@
Height Timestamp
- - - + + - - - + + + + + + + + + + + + +
Tags + + +
Tags
Addresses -
+ + +
+ Tags +
Addresses +
+
~
+ Addresses +
+
+
+
+
- +
- - - + + - - - + + + + + + + + + + + +
Mined Blocks + + +
Mined Blocks
Empty Blocks + +
+ Mined Blocks +
+
+
+
Empty Blocks
+ Blocks +
+
+
+
diff --git a/frontend/src/app/components/pool/pool.component.scss b/frontend/src/app/components/pool/pool.component.scss index 3bf3745c8..60bc4ab7d 100644 --- a/frontend/src/app/components/pool/pool.component.scss +++ b/frontend/src/app/components/pool/pool.component.scss @@ -52,13 +52,17 @@ div.scrollable { } .label { - width: 35%; + width: 30%; + @media (max-width: 767.98px) { + font-weight: bold; + } } .data { - text-align: left; + text-align: right; padding-left: 25%; - @media (max-width: 991px) { + @media (max-width: 992px) { + text-align: left; padding-left: 12px; } @media (max-width: 450px) { @@ -139,12 +143,6 @@ div.scrollable { text-align: left; } -.right-mobile { - @media (max-width: 450px) { - text-align: right; - } -} - .skeleton-loader { max-width: 200px; } @@ -158,3 +156,11 @@ div.scrollable { top: 600px; } } + +.small-button { + height: 20px; + transform: translateY(-20px); + font-size: 10px; + padding-top: 0; + padding-bottom: 0; +} \ No newline at end of file diff --git a/frontend/src/app/components/pool/pool.component.ts b/frontend/src/app/components/pool/pool.component.ts index 8a887c85f..15e4a41fa 100644 --- a/frontend/src/app/components/pool/pool.component.ts +++ b/frontend/src/app/components/pool/pool.component.ts @@ -19,6 +19,8 @@ export class PoolComponent implements OnInit { @Input() right: number | string = 45; @Input() left: number | string = 75; + gfg = true; + formatNumber = formatNumber; poolStats$: Observable; blocks$: Observable;