Fix pool detail page on Firefox
This commit is contained in:
		
							parent
							
								
									192c61f9cb
								
							
						
					
					
						commit
						7957ca8f94
					
				| @ -264,8 +264,8 @@ export class PoolRankingComponent implements OnInit { | ||||
|             fontSize: 14, | ||||
|           }, | ||||
|           itemStyle: { | ||||
|             borderRadius: 2, | ||||
|             borderWidth: 2, | ||||
|             borderRadius: 1, | ||||
|             borderWidth: 1, | ||||
|             borderColor: '#000', | ||||
|           }, | ||||
|           emphasis: { | ||||
|  | ||||
| @ -2,45 +2,50 @@ | ||||
| 
 | ||||
|   <div *ngIf="poolStats$ | async as poolStats; else loadingMain"> | ||||
|     <h1 class="m-0 mb-2"> | ||||
|       <img width="50" height="50" src="{{ poolStats['logo'] }}" onError="this.src = './resources/mining-pools/default.svg'" | ||||
|         class="mr-3"> | ||||
|       <img width="50" height="50" src="{{ poolStats['logo'] }}" | ||||
|         onError="this.src = './resources/mining-pools/default.svg'" class="mr-3"> | ||||
|       {{ poolStats.pool.name }} | ||||
|     </h1> | ||||
| 
 | ||||
|     <div class="box"> | ||||
|       <div class="row"> | ||||
|         <div class="col-lg-9"> | ||||
|         <div class="col-lg-7"> | ||||
|           <table class="table table-borderless table-striped" style="table-layout: fixed;"> | ||||
|             <tbody> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-3">Addresses</td> | ||||
|                 <td class="label">Tags</td> | ||||
|                 <td class="text-truncate"> | ||||
|                   <div class="scrollable"> | ||||
|                     {{ poolStats.pool.regexes }} | ||||
|                   </div> | ||||
|                 </td> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td class="label">Addresses</td> | ||||
|                 <td class="text-truncate" *ngIf="poolStats.pool.addresses.length else noaddress"> | ||||
|                   <div class="scrollable"> | ||||
|                     <a *ngFor="let address of poolStats.pool.addresses" | ||||
|                       [routerLink]="['/address' | relativeUrl, address]">{{ address }}<br></a> | ||||
|                       [routerLink]="['/address' | relativeUrl, address]">{{ | ||||
|                       address }}<br></a> | ||||
|                   </div> | ||||
|                 </td> | ||||
|                 <ng-template #noaddress> | ||||
|                   <td>~</td> | ||||
|                 </ng-template> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-3">Coinbase Tags</td> | ||||
|                 <td class="text-truncate">{{ poolStats.pool.regexes }}</td> | ||||
|               </tr> | ||||
|             </tbody> | ||||
|           </table> | ||||
|         </div> | ||||
|         <div class="col-lg-3"> | ||||
|         <div class="col-lg-5"> | ||||
|           <table class="table table-borderless table-striped"> | ||||
|             <tbody> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-8">Mined Blocks</td> | ||||
|                 <td class="text-left">{{ poolStats.blockCount }}</td> | ||||
|                 <td class="label">Mined Blocks</td> | ||||
|                 <td class="data">{{ formatNumber(poolStats.blockCount, this.locale, '1.0-0') }}</td> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-8">Empty Blocks</td> | ||||
|                 <td class="text-left">{{ poolStats.emptyBlocks }}</td> | ||||
|                 <td class="label">Empty Blocks</td> | ||||
|                 <td class="data">{{ formatNumber(poolStats.emptyBlocks, this.locale, '1.0-0') }}</td> | ||||
|               </tr> | ||||
|             </tbody> | ||||
|           </table> | ||||
| @ -54,14 +59,17 @@ | ||||
|     <div class="spinner-border text-light"></div> | ||||
|   </div> | ||||
| 
 | ||||
|   <table *ngIf="blocks$ | async as blocks" class="table table-borderless" [alwaysCallback]="true" infiniteScroll [infiniteScrollDistance]="1.5" | ||||
|     [infiniteScrollUpDistance]="1.5" [infiniteScrollThrottle]="50" (scrolled)="loadMore()"> | ||||
|   <table *ngIf="blocks$ | async as blocks" class="table table-borderless" [alwaysCallback]="true" infiniteScroll | ||||
|     [infiniteScrollDistance]="1.5" [infiniteScrollUpDistance]="1.5" [infiniteScrollThrottle]="50" | ||||
|     (scrolled)="loadMore()"> | ||||
|     <thead> | ||||
|       <th style="width: 15%;" i18n="latest-blocks.height">Height</th> | ||||
|       <th class="d-none d-md-block" style="width: 20%;" i18n="latest-blocks.timestamp">Timestamp</th> | ||||
|       <th style="width: 20%;" i18n="latest-blocks.mined">Mined</th> | ||||
|       <th class="text-right" style="width: 10%; padding-right: 30px" i18n="latest-blocks.reward">Reward</th> | ||||
|       <th class="d-none d-lg-block text-right" style="width: 15%; padding-right: 40px" i18n="latest-blocks.transactions">Transactions</th> | ||||
|       <th class="d-none d-lg-block text-right" style="width: 15%; padding-right: 40px" | ||||
|         i18n="latest-blocks.transactions"> | ||||
|         Transactions</th> | ||||
|       <th style="width: 20%;" i18n="latest-blocks.size">Size</th> | ||||
|     </thead> | ||||
|     <tbody> | ||||
| @ -113,7 +121,9 @@ | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-3">Coinbase Tags</td> | ||||
|                 <td class="text-truncate"><div class="skeleton-loader"></div></td> | ||||
|                 <td class="text-truncate"> | ||||
|                   <div class="skeleton-loader"></div> | ||||
|                 </td> | ||||
|               </tr> | ||||
|             </tbody> | ||||
|           </table> | ||||
| @ -123,11 +133,15 @@ | ||||
|             <tbody> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-8">Mined Blocks</td> | ||||
|                 <td class="text-left"><div class="skeleton-loader"></div></td> | ||||
|                 <td class="text-left"> | ||||
|                   <div class="skeleton-loader"></div> | ||||
|                 </td> | ||||
|               </tr> | ||||
|               <tr> | ||||
|                 <td class="col-4 col-lg-8">Empty Blocks</td> | ||||
|                 <td class="text-left"><div class="skeleton-loader"></div></td> | ||||
|                 <td class="text-left"> | ||||
|                   <div class="skeleton-loader"></div> | ||||
|                 </td> | ||||
|               </tr> | ||||
|             </tbody> | ||||
|           </table> | ||||
|  | ||||
| @ -36,7 +36,7 @@ div.scrollable { | ||||
|   margin: 0; | ||||
|   padding: 0; | ||||
|   overflow: auto; | ||||
|   max-height: 100px; | ||||
|   max-height: 75px; | ||||
| } | ||||
| 
 | ||||
| .skeleton-loader { | ||||
| @ -47,4 +47,20 @@ div.scrollable { | ||||
| .table { | ||||
|   margin: 0px auto; | ||||
|   max-width: 900px; | ||||
| } | ||||
| 
 | ||||
| .box { | ||||
|   padding-bottom: 0px; | ||||
| } | ||||
| 
 | ||||
| .label { | ||||
|   max-width: 50px; | ||||
|   width: 30%; | ||||
| } | ||||
| 
 | ||||
| .data { | ||||
|   text-align: center; | ||||
|   @media (max-width: 767.98px) { | ||||
|     text-align: right; | ||||
|   } | ||||
| } | ||||
| @ -27,6 +27,7 @@ export class PoolComponent implements OnInit { | ||||
|   @Input() right: number | string = 45; | ||||
|   @Input() left: number | string = 75; | ||||
| 
 | ||||
|   formatNumber = formatNumber; | ||||
|   poolStats$: Observable<PoolStat>; | ||||
|   blocks$: Observable<BlockExtended[]>; | ||||
|   isLoading = true; | ||||
|  | ||||
| @ -90,7 +90,7 @@ export interface PoolInfo { | ||||
| export interface PoolStat { | ||||
|   pool: PoolInfo; | ||||
|   blockCount: number; | ||||
|   emptyBlocks: BlockExtended[]; | ||||
|   emptyBlocks: number; | ||||
| } | ||||
| 
 | ||||
| export interface BlockExtension { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user