Add 24h and all time views to accelerator dashboard
This commit is contained in:
		
							parent
							
								
									5bb3e930cc
								
							
						
					
					
						commit
						75ca963bd5
					
				| @ -32,7 +32,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnChanges, OnDest | |||||||
|   @Input() height: number = 300; |   @Input() height: number = 300; | ||||||
|   @Input() right: number | string = 45; |   @Input() right: number | string = 45; | ||||||
|   @Input() left: number | string = 75; |   @Input() left: number | string = 75; | ||||||
|   @Input() period: '3d' | '1w' | '1m' = '1w'; |   @Input() period: '24h' | '3d' | '1w' | '1m' | 'all' = '1w'; | ||||||
|   @Input() accelerations$: Observable<Acceleration[]>; |   @Input() accelerations$: Observable<Acceleration[]>; | ||||||
| 
 | 
 | ||||||
|   miningWindowPreference: string; |   miningWindowPreference: string; | ||||||
| @ -48,7 +48,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnChanges, OnDest | |||||||
|   isLoading = true; |   isLoading = true; | ||||||
|   formatNumber = formatNumber; |   formatNumber = formatNumber; | ||||||
|   timespan = ''; |   timespan = ''; | ||||||
|   periodSubject$: Subject<'3d' | '1w' | '1m'> = new Subject(); |   periodSubject$: Subject<'24h' | '3d' | '1w' | '1m' | 'all'> = new Subject(); | ||||||
|   chartInstance: any = undefined; |   chartInstance: any = undefined; | ||||||
|   daysAvailable: number = 0; |   daysAvailable: number = 0; | ||||||
| 
 | 
 | ||||||
| @ -78,7 +78,7 @@ export class AccelerationFeesGraphComponent implements OnInit, OnChanges, OnDest | |||||||
|     this.radioGroupForm.controls.dateSpan.setValue(this.miningWindowPreference); |     this.radioGroupForm.controls.dateSpan.setValue(this.miningWindowPreference); | ||||||
|      |      | ||||||
|     this.route.fragment.subscribe((fragment) => { |     this.route.fragment.subscribe((fragment) => { | ||||||
|       if (['24h', '3d', '1w', '1m', '3m'].indexOf(fragment) > -1) { |       if (['24h', '3d', '1w', '1m', '3m', 'all'].indexOf(fragment) > -1) { | ||||||
|         this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); |         this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ export type AccelerationStats = { | |||||||
|   changeDetection: ChangeDetectionStrategy.OnPush, |   changeDetection: ChangeDetectionStrategy.OnPush, | ||||||
| }) | }) | ||||||
| export class AccelerationStatsComponent implements OnInit, OnChanges { | export class AccelerationStatsComponent implements OnInit, OnChanges { | ||||||
|   @Input() timespan: '3d' | '1w' | '1m' = '1w'; |   @Input() timespan: '24h' | '3d' | '1w' | '1m' | 'all' = '1w'; | ||||||
|   accelerationStats$: Observable<AccelerationStats>; |   accelerationStats$: Observable<AccelerationStats>; | ||||||
|   blocksInPeriod: number = 7 * 144; |   blocksInPeriod: number = 7 * 144; | ||||||
| 
 | 
 | ||||||
| @ -35,6 +35,9 @@ export class AccelerationStatsComponent implements OnInit, OnChanges { | |||||||
|   updateStats(): void { |   updateStats(): void { | ||||||
|     this.accelerationStats$ = this.servicesApiService.getAccelerationStats$({ timeframe: this.timespan }); |     this.accelerationStats$ = this.servicesApiService.getAccelerationStats$({ timeframe: this.timespan }); | ||||||
|     switch (this.timespan) { |     switch (this.timespan) { | ||||||
|  |       case '24h': | ||||||
|  |         this.blocksInPeriod = 144; | ||||||
|  |         break; | ||||||
|       case '3d': |       case '3d': | ||||||
|         this.blocksInPeriod = 3 * 144; |         this.blocksInPeriod = 3 * 144; | ||||||
|         break; |         break; | ||||||
| @ -44,6 +47,9 @@ export class AccelerationStatsComponent implements OnInit, OnChanges { | |||||||
|       case '1m': |       case '1m': | ||||||
|         this.blocksInPeriod = 30 * 144; |         this.blocksInPeriod = 30 * 144; | ||||||
|         break; |         break; | ||||||
|  |       case 'all': | ||||||
|  |         this.blocksInPeriod = Infinity; | ||||||
|  |         break; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -23,12 +23,18 @@ | |||||||
|       <div class="main-title"> |       <div class="main-title"> | ||||||
|         <span [attr.data-cy]="'acceleration-stats'" i18n="accelerator.acceleration-stats">Acceleration stats</span>  |         <span [attr.data-cy]="'acceleration-stats'" i18n="accelerator.acceleration-stats">Acceleration stats</span>  | ||||||
|         @switch (timespan) { |         @switch (timespan) { | ||||||
|  |           @case ('24h') { | ||||||
|  |             <span style="font-size: xx-small" i18n="mining.1-day">(1 day)</span> | ||||||
|  |           } | ||||||
|           @case ('1w') { |           @case ('1w') { | ||||||
|             <span style="font-size: xx-small" i18n="mining.1-week">(1 week)</span> |             <span style="font-size: xx-small" i18n="mining.1-week">(1 week)</span> | ||||||
|           } |           } | ||||||
|           @case ('1m') { |           @case ('1m') { | ||||||
|             <span style="font-size: xx-small" i18n="mining.1-month">(1 month)</span> |             <span style="font-size: xx-small" i18n="mining.1-month">(1 month)</span> | ||||||
|           } |           } | ||||||
|  |           @case ('all') { | ||||||
|  |             <span style="font-size: xx-small" i18n="mining.all-time">(all time)</span> | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       </div> |       </div> | ||||||
|       <div class="card-wrapper"> |       <div class="card-wrapper"> | ||||||
| @ -36,11 +42,17 @@ | |||||||
|           <div class="card-body more-padding"> |           <div class="card-body more-padding"> | ||||||
|             <app-acceleration-stats [timespan]="timespan"></app-acceleration-stats> |             <app-acceleration-stats [timespan]="timespan"></app-acceleration-stats> | ||||||
|             <div class="widget-toggler"> |             <div class="widget-toggler"> | ||||||
|  |               <a href="" (click)="setTimespan('24h')" class="toggler-option" | ||||||
|  |                 [ngClass]="{'inactive': timespan === '24h'}"><small>24h</small></a> | ||||||
|  |               <span style="color: #ffffff66; font-size: 8px"> | </span> | ||||||
|               <a href="" (click)="setTimespan('1w')" class="toggler-option" |               <a href="" (click)="setTimespan('1w')" class="toggler-option" | ||||||
|                 [ngClass]="{'inactive': timespan === '1w'}"><small>1w</small></a> |                 [ngClass]="{'inactive': timespan === '1w'}"><small>1w</small></a> | ||||||
|               <span style="color: #ffffff66; font-size: 8px"> | </span> |               <span style="color: #ffffff66; font-size: 8px"> | </span> | ||||||
|               <a href="" (click)="setTimespan('1m')" class="toggler-option" |               <a href="" (click)="setTimespan('1m')" class="toggler-option" | ||||||
|               [ngClass]="{'inactive': timespan === '1m'}"><small>1m</small></a> |               [ngClass]="{'inactive': timespan === '1m'}"><small>1m</small></a> | ||||||
|  |               <span style="color: #ffffff66; font-size: 8px"> | </span> | ||||||
|  |               <a href="" (click)="setTimespan('all')" class="toggler-option" | ||||||
|  |               [ngClass]="{'inactive': timespan === 'all'}"><small>all</small></a> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -37,7 +37,7 @@ export class AcceleratorDashboardComponent implements OnInit, OnDestroy { | |||||||
|   webGlEnabled = true; |   webGlEnabled = true; | ||||||
|   seen: Set<string> = new Set(); |   seen: Set<string> = new Set(); | ||||||
|   firstLoad = true; |   firstLoad = true; | ||||||
|   timespan: '3d' | '1w' | '1m' = '1w'; |   timespan: '24h' | '3d' | '1w' | '1m' | 'all' = '1w'; | ||||||
| 
 | 
 | ||||||
|   accelerationDeltaSubscription: Subscription; |   accelerationDeltaSubscription: Subscription; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user