-
Notifications
You must be signed in to change notification settings - Fork 167
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e31fac1
commit 017d719
Showing
1 changed file
with
225 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
<ng-template #loading> | ||
<h4>Loading...</h4> | ||
</ng-template> | ||
<ng-container> | ||
|
||
<div class="grid" *ngIf="info$ | async as info; else loading"> | ||
<div class="col-12"> | ||
<div class="card"> | ||
<div class="grid mb-4"> | ||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card mb-0"> | ||
<div class="flex justify-content-between mb-3"> | ||
<div> | ||
<span class="block text-500 font-medium mb-3">Hash Rate</span> | ||
<div class="text-900 font-medium text-xl">{{info.hashRate | number: '1.2-2'}} | ||
<small>Gh/s</small> | ||
</div> | ||
</div> | ||
<div class="flex align-items-center justify-content-center bg-orange-100 border-round" | ||
[ngStyle]="{width: '2.5rem', height: '2.5rem'}"> | ||
<i class="pi pi-bolt text-orange-500 text-xl"></i> | ||
</div> | ||
</div> | ||
<ng-container *ngIf="expectedHashRate$ | async as expectedHashRate"> | ||
<span class="text-green-500 font-medium">{{expectedHashRate}} | ||
<small>Gh/s </small></span> | ||
<span class="text-500">expected</span> | ||
</ng-container> | ||
</div> | ||
</div> | ||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card mb-0"> | ||
<div class="flex justify-content-between mb-3"> | ||
<div> | ||
<span class="block text-500 font-medium mb-3">Shares</span> | ||
<div class="text-900 font-medium text-xl">{{info.sharesAccepted}}</div> | ||
</div> | ||
<div class="flex align-items-center justify-content-center bg-blue-100 border-round" | ||
[ngStyle]="{width: '2.5rem', height: '2.5rem'}"> | ||
<i class="pi pi-send text-blue-500 text-xl"></i> | ||
</div> | ||
</div> | ||
<span class="text-red-500 font-medium">{{info.sharesRejected}} </span> | ||
<span class="text-500">rejected</span> | ||
</div> | ||
</div> | ||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card mb-0"> | ||
<div class="flex justify-content-between mb-3"> | ||
<div> | ||
<span class="block text-500 font-medium mb-3">Efficiency</span> | ||
<div class="text-900 font-medium text-xl"> | ||
<td>{{info.power / (info.hashRate/1000) | number: '1.2-2'}} <small>J/Th</small> | ||
</td> | ||
</div> | ||
</div> | ||
<div class="flex align-items-center justify-content-center bg-orange-100 border-round" | ||
[ngStyle]="{width: '2.5rem', height: '2.5rem'}"> | ||
<i class="pi pi-thumbs-up text-orange-500 text-xl"></i> | ||
</div> | ||
</div> | ||
<!-- <span class="text-green-500 font-medium">%52+ </span> | ||
<span class="text-500">since last week</span> --> | ||
</div> | ||
</div> | ||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card mb-0"> | ||
<div class="flex justify-content-between mb-3"> | ||
<div> | ||
<span class="block text-500 font-medium mb-3">Best Difficulty</span> | ||
<div class="text-900 font-medium text-xl">{{info.bestDiff}} | ||
<span class="text-500">all-time best</span> | ||
</div> | ||
</div> | ||
<div class="flex align-items-center justify-content-center bg-yellow-100 border-round" | ||
[ngStyle]="{width: '2.5rem', height: '2.5rem'}"> | ||
<i class="pi pi-star-fill text-yellow-500 text-xl"></i> | ||
</div> | ||
</div> | ||
<span class="text-900 font-medium">{{info.bestSessionDiff}} </span> | ||
<span class="text-500">since system boot</span> | ||
<!-- <span class="text-green-500 font-medium">520 </span> | ||
<span class="text-500">newly registered</span> --> | ||
</div> | ||
</div> | ||
|
||
</div> | ||
|
||
|
||
<p-chart [data]="chartData" [options]="chartOptions"></p-chart> | ||
</div> | ||
</div> | ||
<div class="col-12 lg:col-12 xl:col-6"> | ||
<div class="card"> | ||
<h5>Power</h5> | ||
<div class="grid text-center"> | ||
<div class="col-4"> | ||
<p-knob [min]="3" [max]="50" [readonly]="true" [(ngModel)]="info.power" | ||
valueTemplate="{value}W"></p-knob> | ||
Power | ||
</div> | ||
|
||
<div class="col-4"> | ||
<p-knob [min]="4.5" [max]="5.5" [readonly]="true" [(ngModel)]="info.voltage" | ||
valueTemplate="{value}V"></p-knob> | ||
Input Voltage | ||
<span class="danger" *ngIf="info.voltage < 4.8"> Danger: Low voltage</span> | ||
</div> | ||
|
||
<div class="col-4"> | ||
<p-knob [min]="0.9" [max]="1.8" [readonly]="true" [(ngModel)]="info.coreVoltage" | ||
valueTemplate="{value}V"></p-knob> | ||
ASIC Voltage Requested | ||
</div> | ||
</div> | ||
|
||
</div> | ||
</div> | ||
|
||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card"> | ||
<h5>Heat</h5> | ||
<div class="grid text-center"> | ||
<div class="col-6"> | ||
<p-knob [min]="20" [max]="75" [readonly]="true" [(ngModel)]="info.temp" | ||
valueTemplate="{value}C"></p-knob> | ||
ASIC Temperature | ||
|
||
<span class="danger" *ngIf="info.temp >= 70"> | ||
Danger: | ||
High Temperature</span> | ||
</div> | ||
<div class="col-6" *ngIf="info.vrTemp > 0"> | ||
<p-knob [min]="20" [max]="145" [readonly]="true" [(ngModel)]="info.vrTemp" | ||
valueTemplate="{value}C"></p-knob> | ||
Voltage Regulator Temperature | ||
|
||
<span class="danger" *ngIf="info.vrTemp >= 105"> | ||
Danger: | ||
High Temperature</span> | ||
</div> | ||
<div class="col-6"> | ||
<p-knob [min]="0" [max]="100" [readonly]="true" [(ngModel)]="info.fanspeed" | ||
valueTemplate="{value}%"></p-knob> | ||
Fan % | ||
</div> | ||
<div class="col-6"> | ||
<p-knob [min]="0" [max]="20000" [readonly]="true" [(ngModel)]="info.fanrpm" | ||
valueTemplate="{value}"></p-knob> | ||
Fan RPM | ||
</div> | ||
<!-- | ||
<div class="col-6" *ngIf="info.boardtemp1"> | ||
<p-knob [min]="20" [max]="75" [readonly]="true" [(ngModel)]="info.boardtemp1" | ||
valueTemplate="{value}C"></p-knob> | ||
Board Temp 1 | ||
</div> | ||
<div class="col-6" *ngIf="info.boardtemp2"> | ||
<p-knob [min]="20" [max]="75" [readonly]="true" [(ngModel)]="info.boardtemp2" | ||
valueTemplate="{value}C"></p-knob> | ||
Board Temp 2 | ||
</div> | ||
--> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
|
||
|
||
<div class="col-12 lg:col-6 xl:col-3"> | ||
<div class="card"> | ||
<h5>Performance</h5> | ||
<div class="grid text-center"> | ||
<div class="col-6"> | ||
<p-knob [min]="100" [max]="800" [readonly]="true" [(ngModel)]="info.frequency" | ||
valueTemplate="{value}Mhz"></p-knob> | ||
ASIC Frequency | ||
</div> | ||
<div class="col-6"> | ||
<p-knob [min]="0.9" [max]="1.8" [readonly]="true" [(ngModel)]="info.coreVoltageActual" | ||
valueTemplate="{value}V"></p-knob> | ||
ASIC Voltage Measured | ||
</div> | ||
|
||
|
||
</div> | ||
|
||
</div> | ||
</div> | ||
|
||
|
||
|
||
|
||
<div class="col-12 lg:col-6"> | ||
<div class="card"> | ||
<h5>Pool Information</h5> | ||
<table *ngIf="info$ | async as info; else loading"> | ||
<tr *ngIf="quickLink$ | async as quickLink"> | ||
<td>Quick Link:</td> | ||
<td style="word-break: break-all;"> | ||
<a style="color: white; text-decoration: underline;" [href]="quickLink" target="_blank">{{quickLink}}</a> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td>URL:</td> | ||
<td style="word-break: break-all;">{{info.stratumURL}}</td> | ||
</tr> | ||
<tr> | ||
<td>Port:</td> | ||
<td style="word-break: break-all;">{{info.stratumPort}}</td> | ||
</tr> | ||
<tr> | ||
<td>User:</td> | ||
<td style="word-break: break-all;">{{info.stratumUser}}</td> | ||
</tr> | ||
|
||
</table> | ||
</div> | ||
</div> | ||
|
||
|
||
</div> | ||
|
||
|
||
</ng-container> |