Minor fixes on Liquid dashboards
This commit is contained in:
		
							parent
							
								
									925d51f40e
								
							
						
					
					
						commit
						42bd08c744
					
				@ -81,7 +81,7 @@
 | 
			
		||||
      <li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}" id="btn-audit">
 | 
			
		||||
        <a class="nav-link" [routerLink]="['/audit']" (click)="collapse()"><fa-icon [icon]="['fas', 'scale-balanced']" [fixedWidth]="true" i18n-title="master-page.btc-reserves-audit" title="BTC Reserves Audit"></fa-icon></a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li [hidden]="isMobile" class="nav-item mr-2" routerLinkActive="active" id="btn-docs">
 | 
			
		||||
      <li class="nav-item mr-2" routerLinkActive="active" id="btn-docs">
 | 
			
		||||
        <a class="nav-link" [routerLink]="['/docs' | relativeUrl]" (click)="collapse()"><fa-icon [icon]="['fas', 'book']" [fixedWidth]="true" i18n-title="master-page.docs" title="Docs"></fa-icon></a>
 | 
			
		||||
      </li>
 | 
			
		||||
      <li class="nav-item" routerLinkActive="active" id="btn-about">
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,21 @@ li.nav-item {
 | 
			
		||||
  margin: auto 10px;
 | 
			
		||||
  padding-left: 10px;
 | 
			
		||||
  padding-right: 10px;
 | 
			
		||||
  @media (max-width: 992px) {
 | 
			
		||||
    margin: auto 7px;
 | 
			
		||||
    padding-left: 8px;
 | 
			
		||||
    padding-right: 8px;
 | 
			
		||||
  }
 | 
			
		||||
  @media (max-width: 429px) {
 | 
			
		||||
    margin: auto 5px;
 | 
			
		||||
    padding-left: 6px;
 | 
			
		||||
    padding-right: 6px;
 | 
			
		||||
  }
 | 
			
		||||
  @media (max-width: 369px) {
 | 
			
		||||
    margin: auto 3px;
 | 
			
		||||
    padding-left: 4px;
 | 
			
		||||
    padding-right: 4px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (min-width: 992px) {
 | 
			
		||||
 | 
			
		||||
@ -6,11 +6,14 @@
 | 
			
		||||
 | 
			
		||||
tr, td, th {
 | 
			
		||||
  border: 0px;
 | 
			
		||||
  padding-top: 0.65rem !important;
 | 
			
		||||
  padding-bottom: 0.6rem !important;
 | 
			
		||||
  padding-right: 2rem !important;
 | 
			
		||||
  .widget {
 | 
			
		||||
    padding-right: 1rem !important;
 | 
			
		||||
  padding-top: 0.65rem;
 | 
			
		||||
  padding-bottom: 0.6rem;
 | 
			
		||||
  padding-right: 2rem;
 | 
			
		||||
  .widget &.widget {
 | 
			
		||||
    padding-right: 1rem;
 | 
			
		||||
    @media (max-width: 510px) {
 | 
			
		||||
      padding-right: 0.5rem;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
.fee-estimation-container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  margin-bottom: 10px;
 | 
			
		||||
  @media (min-width: 376px) {
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
  }  
 | 
			
		||||
 | 
			
		||||
@ -1,135 +1,133 @@
 | 
			
		||||
<div class="container-xl">
 | 
			
		||||
  <div [ngClass]="{'widget': widget}">
 | 
			
		||||
 | 
			
		||||
    <div *ngIf="!widget">
 | 
			
		||||
      <h1 i18n="liquid.recent-pegs">Recent Peg-In / Out's</h1>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="clearfix"></div>
 | 
			
		||||
    
 | 
			
		||||
    <div style="min-height: 295px">
 | 
			
		||||
      <table class="table table-borderless">
 | 
			
		||||
        <thead style="vertical-align: middle;">
 | 
			
		||||
          <th class="transaction text-left" [ngClass]="{'widget': widget}" i18n="shared.transaction">Transaction</th>
 | 
			
		||||
          <th class="timestamp text-left" i18n="shared.date" [ngClass]="{'widget': widget}">Date</th>
 | 
			
		||||
          <th class="amount text-right" [ngClass]="{'widget': widget}" i18n="shared.amount">Amount</th>
 | 
			
		||||
          <th class="output text-left" *ngIf="!widget" i18n="liquid.fund-redemption-tx">Fund / Redemption Tx</th>
 | 
			
		||||
          <th class="address text-left" *ngIf="!widget" i18n="liquid.bitcoin-address">BTC Address</th>
 | 
			
		||||
        </thead>
 | 
			
		||||
        <tbody *ngIf="recentPegs$ | async as pegs; else skeleton" [style]="isLoading ? 'opacity: 0.75' : ''">
 | 
			
		||||
          <ng-container *ngIf="widget; else regularRows">
 | 
			
		||||
            <tr *ngFor="let peg of pegs | slice:0:5">
 | 
			
		||||
              <td class="transaction text-left widget">
 | 
			
		||||
                <ng-container *ngIf="peg.amount > 0">
 | 
			
		||||
                  <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vin=' + peg.txindex">
 | 
			
		||||
                    <app-truncate [text]="peg.txid"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
                <ng-container *ngIf="peg.amount < 0">
 | 
			
		||||
                  <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vout=' + peg.txindex">
 | 
			
		||||
                    <app-truncate [text]="peg.txid"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="timestamp text-left widget">
 | 
			
		||||
                <app-time kind="since" [time]="peg.blocktime"></app-time>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="amount text-right widget" [ngClass]="{'credit': peg.amount > 0, 'debit': peg.amount < 0, 'glow-effect': peg.amount < 0 && peg.bitcoinaddress && !peg.bitcointxid}">
 | 
			
		||||
                <app-amount [satoshis]="peg.amount" [noFiat]="true" [forceBtc]="true" [addPlus]="true"></app-amount>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </ng-container>
 | 
			
		||||
          <ng-template #regularRows>
 | 
			
		||||
            <tr *ngFor="let peg of pegs | slice:(page - 1) * pageSize:page * pageSize">
 | 
			
		||||
              <td class="transaction text-left">
 | 
			
		||||
                <ng-container *ngIf="peg.amount > 0">
 | 
			
		||||
                  <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vin=' + peg.txindex">
 | 
			
		||||
                    <app-truncate [text]="peg.txid" [lastChars]="6"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
                <ng-container *ngIf="peg.amount < 0">
 | 
			
		||||
                  <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vout=' + peg.txindex">
 | 
			
		||||
                    <app-truncate [text]="peg.txid" [lastChars]="6"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="timestamp text-left">
 | 
			
		||||
                ‎{{ peg.blocktime * 1000 | date:'yyyy-MM-dd HH:mm' }}
 | 
			
		||||
                <div class="symbol lg-inline relative-time"><i>(<app-time kind="since" [time]="peg.blocktime"></app-time>)</i></div>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="amount text-right" [ngClass]="{'credit': peg.amount > 0, 'debit': peg.amount < 0, 'glow-effect': peg.amount < 0 && peg.bitcoinaddress && !peg.bitcointxid}">
 | 
			
		||||
                <app-amount [satoshis]="peg.amount" [noFiat]="true" [forceBtc]="true" [addPlus]="true"></app-amount>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="output text-left">
 | 
			
		||||
                <ng-container *ngIf="peg.bitcointxid; else redeemInProgress">
 | 
			
		||||
                  <a href="{{ env.MEMPOOL_WEBSITE_URL + '/tx/' + peg.bitcointxid + ':' + peg.bitcoinindex }}" target="_blank" style="color:#b86d12">
 | 
			
		||||
                    <app-truncate [text]="peg.bitcointxid + ':' + peg.bitcoinindex" [lastChars]="6"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
                <ng-template #redeemInProgress>
 | 
			
		||||
                  <ng-container *ngIf="peg.bitcoinaddress; else noRedeem">
 | 
			
		||||
                    <i><span class="text-muted" i18n="liquid.redemption-in-progress">Peg out in progress...</span></i>
 | 
			
		||||
                  </ng-container>
 | 
			
		||||
                </ng-template>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="address text-left">
 | 
			
		||||
                <ng-container *ngIf="peg.bitcoinaddress; else noRedeem">
 | 
			
		||||
                  <a href="{{ env.MEMPOOL_WEBSITE_URL + '/address/' + peg.bitcoinaddress }}" target="_blank" style="color:#b86d12">
 | 
			
		||||
                    <app-truncate [text]="peg.bitcoinaddress" [lastChars]="6"></app-truncate>
 | 
			
		||||
                  </a>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </ng-template>
 | 
			
		||||
        </tbody>
 | 
			
		||||
        <ng-template #skeleton>
 | 
			
		||||
          <tbody *ngIf="widget; else regularRowsSkeleton">
 | 
			
		||||
            <tr *ngFor="let item of skeletonLines">
 | 
			
		||||
              <td class="transaction text-left widget">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 400px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="timestamp text-left widget">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="amount text-right widget">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </tbody>
 | 
			
		||||
          <ng-template #regularRowsSkeleton>
 | 
			
		||||
            <tr *ngFor="let item of skeletonLines">
 | 
			
		||||
              <td class="transaction text-left">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="timestamp text-left">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 140px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="amount text-right">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 140px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="output text-left">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
              <td class="address text-left">
 | 
			
		||||
                <span class="skeleton-loader" style="max-width: 140px"></span>
 | 
			
		||||
              </td>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </ng-template>
 | 
			
		||||
        </ng-template>
 | 
			
		||||
      </table>
 | 
			
		||||
 | 
			
		||||
      <ngb-pagination *ngIf="!widget && recentPegs$ | async as pegs" class="pagination-container float-right mt-2" [class]="isLoading ? 'disabled' : ''"
 | 
			
		||||
        [collectionSize]="pegs.length" [rotate]="true" [maxSize]="maxSize" [pageSize]="15" [(page)]="page"
 | 
			
		||||
        (pageChange)="pageChange(page)" [boundaryLinks]="true" [ellipses]="false">
 | 
			
		||||
      </ngb-pagination>
 | 
			
		||||
 | 
			
		||||
      <ng-template [ngIf]="!widget">
 | 
			
		||||
        <div class="clearfix"></div>
 | 
			
		||||
        <br>
 | 
			
		||||
      </ng-template>
 | 
			
		||||
    </div>
 | 
			
		||||
<div [ngClass]="{'container-xl': !widget, 'widget': widget}">
 | 
			
		||||
 | 
			
		||||
  <div *ngIf="!widget">
 | 
			
		||||
    <h1 i18n="liquid.recent-pegs">Recent Peg-In / Out's</h1>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <div class="clearfix"></div>
 | 
			
		||||
  
 | 
			
		||||
  <div style="min-height: 295px">
 | 
			
		||||
    <table class="table table-borderless">
 | 
			
		||||
      <thead style="vertical-align: middle;">
 | 
			
		||||
        <th class="transaction text-left" [ngClass]="{'widget': widget}" i18n="shared.transaction">Transaction</th>
 | 
			
		||||
        <th class="timestamp text-left" i18n="shared.date" [ngClass]="{'widget': widget}">Date</th>
 | 
			
		||||
        <th class="amount text-right" [ngClass]="{'widget': widget}" i18n="shared.amount">Amount</th>
 | 
			
		||||
        <th class="output text-left" *ngIf="!widget" i18n="liquid.fund-redemption-tx">Fund / Redemption Tx</th>
 | 
			
		||||
        <th class="address text-left" *ngIf="!widget" i18n="liquid.bitcoin-address">BTC Address</th>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody *ngIf="recentPegs$ | async as pegs; else skeleton" [style]="isLoading ? 'opacity: 0.75' : ''">
 | 
			
		||||
        <ng-container *ngIf="widget; else regularRows">
 | 
			
		||||
          <tr *ngFor="let peg of pegs | slice:0:5">
 | 
			
		||||
            <td class="transaction text-left widget">
 | 
			
		||||
              <ng-container *ngIf="peg.amount > 0">
 | 
			
		||||
                <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vin=' + peg.txindex">
 | 
			
		||||
                  <app-truncate [text]="peg.txid"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
              <ng-container *ngIf="peg.amount < 0">
 | 
			
		||||
                <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vout=' + peg.txindex">
 | 
			
		||||
                  <app-truncate [text]="peg.txid"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="timestamp text-left widget">
 | 
			
		||||
              <app-time kind="since" [time]="peg.blocktime"></app-time>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="amount text-right widget" [ngClass]="{'credit': peg.amount > 0, 'debit': peg.amount < 0, 'glow-effect': peg.amount < 0 && peg.bitcoinaddress && !peg.bitcointxid}">
 | 
			
		||||
              <app-amount [satoshis]="peg.amount" [noFiat]="true" [forceBtc]="true" [addPlus]="true"></app-amount>
 | 
			
		||||
            </td>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </ng-container>
 | 
			
		||||
        <ng-template #regularRows>
 | 
			
		||||
          <tr *ngFor="let peg of pegs | slice:(page - 1) * pageSize:page * pageSize">
 | 
			
		||||
            <td class="transaction text-left">
 | 
			
		||||
              <ng-container *ngIf="peg.amount > 0">
 | 
			
		||||
                <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vin=' + peg.txindex">
 | 
			
		||||
                  <app-truncate [text]="peg.txid" [lastChars]="6"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
              <ng-container *ngIf="peg.amount < 0">
 | 
			
		||||
                <a [routerLink]="['/tx' | relativeUrl, peg.txid]" [fragment]="'vout=' + peg.txindex">
 | 
			
		||||
                  <app-truncate [text]="peg.txid" [lastChars]="6"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="timestamp text-left">
 | 
			
		||||
              ‎{{ peg.blocktime * 1000 | date:'yyyy-MM-dd HH:mm' }}
 | 
			
		||||
              <div class="symbol lg-inline relative-time"><i>(<app-time kind="since" [time]="peg.blocktime"></app-time>)</i></div>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="amount text-right" [ngClass]="{'credit': peg.amount > 0, 'debit': peg.amount < 0, 'glow-effect': peg.amount < 0 && peg.bitcoinaddress && !peg.bitcointxid}">
 | 
			
		||||
              <app-amount [satoshis]="peg.amount" [noFiat]="true" [forceBtc]="true" [addPlus]="true"></app-amount>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="output text-left">
 | 
			
		||||
              <ng-container *ngIf="peg.bitcointxid; else redeemInProgress">
 | 
			
		||||
                <a href="{{ env.MEMPOOL_WEBSITE_URL + '/tx/' + peg.bitcointxid + ':' + peg.bitcoinindex }}" target="_blank" style="color:#b86d12">
 | 
			
		||||
                  <app-truncate [text]="peg.bitcointxid + ':' + peg.bitcoinindex" [lastChars]="6"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
              <ng-template #redeemInProgress>
 | 
			
		||||
                <ng-container *ngIf="peg.bitcoinaddress; else noRedeem">
 | 
			
		||||
                  <i><span class="text-muted" i18n="liquid.redemption-in-progress">Peg out in progress...</span></i>
 | 
			
		||||
                </ng-container>
 | 
			
		||||
              </ng-template>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="address text-left">
 | 
			
		||||
              <ng-container *ngIf="peg.bitcoinaddress; else noRedeem">
 | 
			
		||||
                <a href="{{ env.MEMPOOL_WEBSITE_URL + '/address/' + peg.bitcoinaddress }}" target="_blank" style="color:#b86d12">
 | 
			
		||||
                  <app-truncate [text]="peg.bitcoinaddress" [lastChars]="6"></app-truncate>
 | 
			
		||||
                </a>
 | 
			
		||||
              </ng-container>
 | 
			
		||||
            </td>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </ng-template>
 | 
			
		||||
      </tbody>
 | 
			
		||||
      <ng-template #skeleton>
 | 
			
		||||
        <tbody *ngIf="widget; else regularRowsSkeleton">
 | 
			
		||||
          <tr *ngFor="let item of skeletonLines">
 | 
			
		||||
            <td class="transaction text-left widget">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 400px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="timestamp text-left widget">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="amount text-right widget">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </tbody>
 | 
			
		||||
        <ng-template #regularRowsSkeleton>
 | 
			
		||||
          <tr *ngFor="let item of skeletonLines">
 | 
			
		||||
            <td class="transaction text-left">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="timestamp text-left">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 240px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="amount text-right">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 140px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="output text-left">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 300px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td class="address text-left">
 | 
			
		||||
              <span class="skeleton-loader" style="max-width: 240px"></span>
 | 
			
		||||
            </td>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </ng-template>
 | 
			
		||||
      </ng-template>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <ngb-pagination *ngIf="!widget && recentPegs$ | async as pegs" class="pagination-container float-right mt-2" [class]="isLoading ? 'disabled' : ''"
 | 
			
		||||
      [collectionSize]="pegs.length" [rotate]="true" [maxSize]="maxSize" [pageSize]="15" [(page)]="page"
 | 
			
		||||
      (pageChange)="pageChange(page)" [boundaryLinks]="true" [ellipses]="false">
 | 
			
		||||
    </ngb-pagination>
 | 
			
		||||
 | 
			
		||||
    <ng-template [ngIf]="!widget">
 | 
			
		||||
      <div class="clearfix"></div>
 | 
			
		||||
      <br>
 | 
			
		||||
    </ng-template>
 | 
			
		||||
  </div>
 | 
			
		||||
  
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<br>
 | 
			
		||||
 | 
			
		||||
@ -6,11 +6,14 @@
 | 
			
		||||
 | 
			
		||||
tr, td, th {
 | 
			
		||||
  border: 0px;
 | 
			
		||||
  padding-top: 0.65rem !important;
 | 
			
		||||
  padding-bottom: 0.6rem !important;
 | 
			
		||||
  padding-right: 2rem !important;
 | 
			
		||||
  .widget {
 | 
			
		||||
    padding-right: 1rem !important;
 | 
			
		||||
  padding-top: 0.65rem;
 | 
			
		||||
  padding-bottom: 0.6rem;
 | 
			
		||||
  padding-right: 2rem;
 | 
			
		||||
  .widget &.widget {
 | 
			
		||||
    padding-right: 1rem;
 | 
			
		||||
    @media (max-width: 510px) {
 | 
			
		||||
      padding-right: 0.5rem;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -93,7 +96,7 @@ tr, td, th {
 | 
			
		||||
    display: block;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 500px) {
 | 
			
		||||
  @media (max-width: 510px) {
 | 
			
		||||
    display: none;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
.fee-estimation-container {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  margin-bottom: 10px;
 | 
			
		||||
  @media (min-width: 376px) {
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
  }  
 | 
			
		||||
 | 
			
		||||
@ -17,13 +17,13 @@
 | 
			
		||||
          <app-reserves-ratio-stats [fullHistory$]="fullHistory$"></app-reserves-ratio-stats>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="card-body pl-0" style="padding-top: 10px;">
 | 
			
		||||
          <app-reserves-ratio-graph [data]="fullHistory$ | async"></app-reserves-ratio-graph>
 | 
			
		||||
          <app-reserves-ratio-graph [data]="fullHistory$ | async" [height]="pegRatioGraphHeight"></app-reserves-ratio-graph>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="col">
 | 
			
		||||
      <div class="card">
 | 
			
		||||
      <div class="card smaller">
 | 
			
		||||
        <div class="card-body">
 | 
			
		||||
          <app-recent-pegs-stats [pegsVolume$]="pegsVolume$"></app-recent-pegs-stats>
 | 
			
		||||
          <app-recent-pegs-list [recentPegIns$]="recentPegIns$" [recentPegOuts$]="recentPegOuts$"[widget]="true"></app-recent-pegs-list>
 | 
			
		||||
@ -32,7 +32,7 @@
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="col" style="margin-bottom: 1.47rem">
 | 
			
		||||
      <div class="card">
 | 
			
		||||
      <div class="card smaller">
 | 
			
		||||
        <div class="card-body">
 | 
			
		||||
          <app-federation-addresses-stats [federationAddresses$]="federationAddresses$" [federationAddressesOneMonthAgo$]="federationAddressesOneMonthAgo$"></app-federation-addresses-stats>
 | 
			
		||||
          <app-federation-addresses-list [federationAddresses$]="federationAddresses$" [widget]="true"></app-federation-addresses-list>
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,13 @@
 | 
			
		||||
 | 
			
		||||
.card {
 | 
			
		||||
  background-color: #1d1f31;
 | 
			
		||||
  height: 418px;
 | 
			
		||||
  @media (min-width: 992px) {
 | 
			
		||||
    height: 512px;
 | 
			
		||||
  }
 | 
			
		||||
  &.smaller {
 | 
			
		||||
    height: 408px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-title {
 | 
			
		||||
@ -121,16 +128,6 @@
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card {
 | 
			
		||||
  height: 385px;
 | 
			
		||||
}
 | 
			
		||||
.list-card {
 | 
			
		||||
  height: 410px;
 | 
			
		||||
  @media (max-width: 767px) {
 | 
			
		||||
    height: auto;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.mempool-block-wrapper {
 | 
			
		||||
  max-height: 380px;
 | 
			
		||||
  max-width: 380px;
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
 | 
			
		||||
import { ChangeDetectionStrategy, Component, HostListener, OnInit } from '@angular/core';
 | 
			
		||||
import { SeoService } from '../../../services/seo.service';
 | 
			
		||||
import { WebsocketService } from '../../../services/websocket.service';
 | 
			
		||||
import { StateService } from '../../../services/state.service';
 | 
			
		||||
@ -25,6 +25,7 @@ export class ReservesAuditDashboardComponent implements OnInit {
 | 
			
		||||
  federationAddressesOneMonthAgo$: Observable<any>;
 | 
			
		||||
  liquidPegsMonth$: Observable<any>;
 | 
			
		||||
  liquidReservesMonth$: Observable<any>;
 | 
			
		||||
  pegRatioGraphHeight: number = 320;
 | 
			
		||||
  fullHistory$: Observable<any>;
 | 
			
		||||
  isLoad: boolean = true;
 | 
			
		||||
  private lastPegBlockUpdate: number = 0;
 | 
			
		||||
@ -209,4 +210,15 @@ export class ReservesAuditDashboardComponent implements OnInit {
 | 
			
		||||
    this.destroy$.complete();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @HostListener('window:resize', ['$event'])
 | 
			
		||||
  onResize(): void {
 | 
			
		||||
    if (window.innerWidth >= 992) {
 | 
			
		||||
      this.pegRatioGraphHeight = 320;
 | 
			
		||||
    } else if (window.innerWidth >= 768) {
 | 
			
		||||
      this.pegRatioGraphHeight = 230;
 | 
			
		||||
    } else {
 | 
			
		||||
      this.pegRatioGraphHeight = 220;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,10 +10,10 @@ import { EChartsOption } from '../../../graphs/echarts';
 | 
			
		||||
})
 | 
			
		||||
export class ReservesRatioGraphComponent implements OnInit, OnChanges {
 | 
			
		||||
  @Input() data: any;
 | 
			
		||||
  @Input() height: number | string = '320';
 | 
			
		||||
  ratioHistoryChartOptions: EChartsOption;
 | 
			
		||||
  ratioSeries: number[] = [];
 | 
			
		||||
 | 
			
		||||
  height: number | string = '200';
 | 
			
		||||
  right: number | string = '10';
 | 
			
		||||
  top: number | string = '20';
 | 
			
		||||
  left: number | string = '50';
 | 
			
		||||
 | 
			
		||||
@ -108,14 +108,14 @@ export class ReservesRatioComponent implements OnInit, OnChanges {
 | 
			
		||||
            fontFamily: 'inherit',
 | 
			
		||||
            fontWeight: 500,
 | 
			
		||||
            formatter: function (value) {
 | 
			
		||||
              return (value).toFixed(5);
 | 
			
		||||
              return (value * 100).toFixed(3) + ' %';
 | 
			
		||||
            },
 | 
			
		||||
            color: 'inherit'
 | 
			
		||||
          },
 | 
			
		||||
          data: [
 | 
			
		||||
            {
 | 
			
		||||
              value: parseFloat(currentReserves.amount) / parseFloat(currentPeg.amount),
 | 
			
		||||
              name: 'Peg-O-Meter'
 | 
			
		||||
              name: 'Assets vs Liabilities'
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item">
 | 
			
		||||
        <h5 class="card-title" i18n="dashboard.btc-reserves">BTC Reserves</h5>
 | 
			
		||||
        <h5 class="card-title" i18n="dashboard.btc-holdings">BTC Holdings</h5>
 | 
			
		||||
        <div class="card-text">
 | 
			
		||||
          <div class="fee-text">{{ (+currentReserves.amount) / 100000000 | number: '1.2-2' }} <span style="color: #b86d12;">BTC</span></div>
 | 
			
		||||
          <span class="fiat">
 | 
			
		||||
 | 
			
		||||
@ -284,11 +284,11 @@
 | 
			
		||||
</ng-template>
 | 
			
		||||
 | 
			
		||||
<ng-template #lbtcPegs let-mempoolInfoData>
 | 
			
		||||
  <div class="mempool-info-data">
 | 
			
		||||
  <div class="mempool-info-data lbtc-pegs-stats">
 | 
			
		||||
    <div class="item">
 | 
			
		||||
      <h5 class="card-title" i18n="dashboard.lbtc-pegs-in-circulation">L-BTC in circulation</h5>
 | 
			
		||||
      <ng-container *ngIf="(currentPeg$ | async) as currentPeg; else loadingTransactions">
 | 
			
		||||
        <p i18n-ngbTooltip="liquid.last-elements-audit-block" [ngbTooltip]="'L-BTC supply last updated at Liquid block ' + (currentPeg.lastBlockUpdate)" placement="top" class="card-text">{{ (+currentPeg.amount) / 100000000 | number: '1.2-2' }} <span>L-BTC</span></p>
 | 
			
		||||
        <div i18n-ngbTooltip="liquid.last-elements-audit-block" [ngbTooltip]="'L-BTC supply last updated at Liquid block ' + (currentPeg.lastBlockUpdate)" placement="top" class="card-text">{{ (+currentPeg.amount) / 100000000 | number: '1.2-2' }} <span>L-BTC</span></div>
 | 
			
		||||
      </ng-container>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="item">
 | 
			
		||||
@ -296,7 +296,7 @@
 | 
			
		||||
        <h5 class="card-title"><ng-container i18n="dashboard.btc-reserves">BTC Reserves</ng-container> <fa-icon [icon]="['fas', 'external-link-alt']" [fixedWidth]="true" style="font-size: 13px; color: #4a68b9"></fa-icon></h5>
 | 
			
		||||
      </a>
 | 
			
		||||
      <ng-container *ngIf="(currentReserves$ | async) as currentReserves; else loadingTransactions">
 | 
			
		||||
        <p i18n-ngbTooltip="liquid.last-bitcoin-audit-block" [ngbTooltip]="'BTC reserves last updated at Bitcoin block ' + (currentReserves.lastBlockUpdate)" placement="top" class="card-text">{{ +(currentReserves.amount) / 100000000 | number: '1.2-2' }} <span class="bitcoin-color">BTC</span></p>
 | 
			
		||||
        <div i18n-ngbTooltip="liquid.last-bitcoin-audit-block" [ngbTooltip]="'BTC reserves last updated at Bitcoin block ' + (currentReserves.lastBlockUpdate)" placement="top" class="card-text">{{ +(currentReserves.amount) / 100000000 | number: '1.2-2' }} <span class="bitcoin-color">BTC</span></div>
 | 
			
		||||
      </ng-container>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -59,6 +59,10 @@
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
  }
 | 
			
		||||
  &.lbtc-pegs-stats { 
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: row;
 | 
			
		||||
  }
 | 
			
		||||
  h5 {
 | 
			
		||||
    margin-bottom: 10px;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user