48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <div class="full-container h-100">
 | |
| 
 | |
|   <div class="card-header">
 | |
|     <div class="d-flex d-md-block align-items-baseline" style="margin-bottom: -5px">
 | |
|       <span i18n="lightning.nodes-per-isp">Lightning nodes per ISP</span>
 | |
|       <button class="btn p-0 pl-2" style="margin: 0 0 4px 0px" (click)="onSaveChart()">
 | |
|         <fa-icon [icon]="['fas', 'download']" [fixedWidth]="true"></fa-icon>
 | |
|       </button>
 | |
|     </div>
 | |
|     <small style="color: #ffffff66" i18n="lightning.tor-nodes-excluded">(Tor nodes excluded)</small>
 | |
|   </div>
 | |
| 
 | |
|   <div class="container pb-lg-0 bottom-padding">
 | |
|     <div class="pb-lg-5" *ngIf="nodesPerAsObservable$ | async">
 | |
|       <div class="chart w-100" echarts [initOpts]="chartInitOptions" [options]="chartOptions"
 | |
|         (chartInit)="onChartInit($event)">
 | |
|       </div>
 | |
|     </div>
 | |
| 
 | |
|     <div class="text-center loadingGraphs" *ngIf="isLoading">
 | |
|       <div class="spinner-border text-light"></div>
 | |
|     </div>
 | |
| 
 | |
|     <table class="table table-borderless text-center">
 | |
|       <thead>
 | |
|         <tr>
 | |
|           <th *ngIf="!isMobile()" i18n="mining.rank">Rank</th>
 | |
|           <th i18n="lightning.isp">ISP</th>
 | |
|           <th *ngIf="!isMobile()" i18n="lightning.share">Share</th>
 | |
|           <th i18n="lightning.nodes-count">Nodes</th>
 | |
|           <th i18n="lightning.capacity">Capacity</th>
 | |
|         </tr>
 | |
|       </thead>
 | |
|       <tbody [attr.data-cy]="'pools-table'" *ngIf="(nodesPerAsObservable$ | async) as asList">
 | |
|         <tr *ngFor="let asEntry of asList">
 | |
|           <td *ngIf="!isMobile()">{{ asEntry.rank }}</td>
 | |
|           <td class="text-truncate" style="max-width: 100px">
 | |
|             <a [routerLink]="[('/lightning/nodes/isp/' + asEntry.ispId) | relativeUrl]">{{ asEntry.name }}</a>
 | |
|           </td>
 | |
|           <td *ngIf="!isMobile()">{{ asEntry.share }}%</td>
 | |
|           <td>{{ asEntry.count }}</td>
 | |
|           <td><app-amount [satoshis]="asEntry.capacity" [digitsInfo]="'1.2-2'" [noFiat]="true"></app-amount></td>
 | |
|         </tr>
 | |
|       </tbody>
 | |
|     </table>
 | |
|   </div>
 | |
| 
 | |
| </div> |