Add pool name to acceleration list
This commit is contained in:
		
							parent
							
								
									82c271267a
								
							
						
					
					
						commit
						aee2454a98
					
				| @ -16,6 +16,7 @@ | |||||||
|         <ng-container *ngIf="!pending"> |         <ng-container *ngIf="!pending"> | ||||||
|           <th class="fee text-right" i18n="transaction.bid-boost|Bid Boost">Bid Boost</th> |           <th class="fee text-right" i18n="transaction.bid-boost|Bid Boost">Bid Boost</th> | ||||||
|           <th class="block text-right" i18n="shared.block-title">Block</th> |           <th class="block text-right" i18n="shared.block-title">Block</th> | ||||||
|  |           <th class="pool text-right" i18n="mining.pool-name" *ngIf="!this.widget">Pool</th> | ||||||
|           <th class="status text-right" i18n="transaction.status|Transaction Status">Status</th> |           <th class="status text-right" i18n="transaction.status|Transaction Status">Status</th> | ||||||
|           <th class="date text-right" i18n="accelerator.requested" *ngIf="!this.widget">Requested</th> |           <th class="date text-right" i18n="accelerator.requested" *ngIf="!this.widget">Requested</th> | ||||||
|         </ng-container> |         </ng-container> | ||||||
| @ -49,6 +50,16 @@ | |||||||
|               <a *ngIf="acceleration.blockHeight" [routerLink]="['/block' | relativeUrl, acceleration.blockHeight]">{{ acceleration.blockHeight }}</a> |               <a *ngIf="acceleration.blockHeight" [routerLink]="['/block' | relativeUrl, acceleration.blockHeight]">{{ acceleration.blockHeight }}</a> | ||||||
|               <span *ngIf="!acceleration.blockHeight">~</span> |               <span *ngIf="!acceleration.blockHeight">~</span> | ||||||
|             </td> |             </td> | ||||||
|  |             <td class="pool text-right" *ngIf="!this.widget"> | ||||||
|  |               @if (acceleration.minedByPoolUniqueId && pools[acceleration.minedByPoolUniqueId]) { | ||||||
|  |                 <a placement="bottom" [routerLink]="['/mining/pool' | relativeUrl, pools[acceleration.minedByPoolUniqueId].slug]" class="badge" style="color: #FFF;padding:0;"> | ||||||
|  |                   <img class="pool-logo" [src]="'/resources/mining-pools/' + pools[acceleration.minedByPoolUniqueId].slug + '.svg'" onError="this.src = '/resources/mining-pools/default.svg'" [alt]="'Logo of ' + pools[acceleration.minedByPoolUniqueId].name + ' mining pool'"> | ||||||
|  |                   {{ pools[acceleration.minedByPoolUniqueId].name }} | ||||||
|  |                 </a> | ||||||
|  |               } @else { | ||||||
|  |                 ~ | ||||||
|  |               } | ||||||
|  |             </td> | ||||||
|             <td class="status text-right"> |             <td class="status text-right"> | ||||||
|               <span *ngIf="acceleration.status === 'accelerating'" class="badge badge-warning" i18n="accelerator.pending">Pending</span> |               <span *ngIf="acceleration.status === 'accelerating'" class="badge badge-warning" i18n="accelerator.pending">Pending</span> | ||||||
|               <span *ngIf="acceleration.status.includes('completed')" class="badge badge-success" i18n="">Completed <span *ngIf="acceleration.status === 'completed_provisional'">🔄</span></span> |               <span *ngIf="acceleration.status.includes('completed')" class="badge badge-success" i18n="">Completed <span *ngIf="acceleration.status === 'completed_provisional'">🔄</span></span> | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ | |||||||
|   padding-bottom: 0px; |   padding-bottom: 0px; | ||||||
| } | } | ||||||
| .container-xl.legacy { | .container-xl.legacy { | ||||||
|   max-width: 1140px; |   max-width: 1200px; | ||||||
| } | } | ||||||
| .container-xl.widget-container { | .container-xl.widget-container { | ||||||
|   min-height: 335px; |   min-height: 335px; | ||||||
| @ -72,9 +72,25 @@ tr, td, th { | |||||||
| 
 | 
 | ||||||
| .block { | .block { | ||||||
|   width: 15%; |   width: 15%; | ||||||
|  |   @media (max-width: 900px) { | ||||||
|  |     display: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .pool { | ||||||
|  |   width: 15%; | ||||||
|  |    | ||||||
|   @media (max-width: 700px) { |   @media (max-width: 700px) { | ||||||
|     display: none; |     display: none; | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   .pool-logo { | ||||||
|  |     width: 22px; | ||||||
|  |     height: 22px; | ||||||
|  |     position: relative; | ||||||
|  |     top: -1px; | ||||||
|  |     margin-right: 2px; | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .status { | .status { | ||||||
|  | |||||||
| @ -1,11 +1,12 @@ | |||||||
| import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnDestroy, Inject, LOCALE_ID } from '@angular/core'; | import { Component, OnInit, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnDestroy, Inject, LOCALE_ID } from '@angular/core'; | ||||||
| import { BehaviorSubject, Observable, Subscription, catchError, filter, of, switchMap, tap, throttleTime } from 'rxjs'; | import { BehaviorSubject, Observable, Subscription, catchError, filter, of, switchMap, tap, throttleTime } from 'rxjs'; | ||||||
| import { Acceleration, BlockExtended } from '../../../interfaces/node-api.interface'; | import { Acceleration, BlockExtended, SinglePoolStats } from '../../../interfaces/node-api.interface'; | ||||||
| import { StateService } from '../../../services/state.service'; | import { StateService } from '../../../services/state.service'; | ||||||
| import { WebsocketService } from '../../../services/websocket.service'; | import { WebsocketService } from '../../../services/websocket.service'; | ||||||
| import { ServicesApiServices } from '../../../services/services-api.service'; | import { ServicesApiServices } from '../../../services/services-api.service'; | ||||||
| import { SeoService } from '../../../services/seo.service'; | import { SeoService } from '../../../services/seo.service'; | ||||||
| import { ActivatedRoute, Router } from '@angular/router'; | import { ActivatedRoute, Router } from '@angular/router'; | ||||||
|  | import { MiningService } from '../../../services/mining.service'; | ||||||
| 
 | 
 | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-accelerations-list', |   selector: 'app-accelerations-list', | ||||||
| @ -30,11 +31,13 @@ export class AccelerationsListComponent implements OnInit, OnDestroy { | |||||||
|   keyNavigationSubscription: Subscription; |   keyNavigationSubscription: Subscription; | ||||||
|   dir: 'rtl' | 'ltr' = 'ltr'; |   dir: 'rtl' | 'ltr' = 'ltr'; | ||||||
|   paramSubscription: Subscription; |   paramSubscription: Subscription; | ||||||
|  |   pools: { [id: number]: SinglePoolStats } = {}; | ||||||
| 
 | 
 | ||||||
|   constructor( |   constructor( | ||||||
|     private servicesApiService: ServicesApiServices, |     private servicesApiService: ServicesApiServices, | ||||||
|     private websocketService: WebsocketService, |     private websocketService: WebsocketService, | ||||||
|     public stateService: StateService, |     public stateService: StateService, | ||||||
|  |     private miningService: MiningService, | ||||||
|     private cd: ChangeDetectorRef, |     private cd: ChangeDetectorRef, | ||||||
|     private seoService: SeoService, |     private seoService: SeoService, | ||||||
|     private route: ActivatedRoute, |     private route: ActivatedRoute, | ||||||
| @ -79,6 +82,12 @@ export class AccelerationsListComponent implements OnInit, OnDestroy { | |||||||
|       ).subscribe(() => { |       ).subscribe(() => { | ||||||
|         this.pageChange(this.page); |         this.pageChange(this.page); | ||||||
|       }); |       }); | ||||||
|  | 
 | ||||||
|  |       this.miningService.getMiningStats('1m').subscribe(stats => { | ||||||
|  |         for (const pool of stats.pools) { | ||||||
|  |           this.pools[pool.poolUniqueId] = pool; | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; |     this.skeletonLines = this.widget === true ? [...Array(6).keys()] : [...Array(15).keys()]; | ||||||
|  | |||||||
| @ -408,6 +408,7 @@ export interface Acceleration { | |||||||
|   bidBoost?: number; |   bidBoost?: number; | ||||||
|   boostCost?: number; |   boostCost?: number; | ||||||
|   boostRate?: number; |   boostRate?: number; | ||||||
|  |   minedByPoolUniqueId?: number; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export interface AccelerationHistoryParams { | export interface AccelerationHistoryParams { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user