theQRL/block-explorer

View on GitHub
imports/ui/components/lasttx/lasttx.html

Summary

Maintainability
Test Coverage
<template name="lasttx">

<h4 class="ui pageHeader header">
  <div class="content">
    Latest Transactions
  </div>
</h4>
{{#with lasttx}} {{#if zeroCheck}}
<div class="ui negative message">
  <i class="close icon"></i>
  <div class="header">
    No transactions yet
  </div>
</div>
{{else}}
  {{#each lasttx.transactions}}
    {{#if isConfirmed this.tx.confirmed}}

      <!-- Confirmed Txn -->
      {{#if isTransfer this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
             {{ts}}
          </div>
          Transfer | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{amount}}<br><small>Quanta</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isTokenCreation this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          {{#if isNFT}}
          Create NFT - 
          {{#if knownProvider}}
            <i class="ui certificate icon" title="Verified Provider"></i>
            <a href="{{providerURL}}/{{tx.tx.transaction_hash}}">{{providerName}}</a> ({{providerID}})
          {{else}}
            <i class="ui warning icon" title="Unverified Provider: ask your provider to contact support@theqrl.org"></i>Unverified provider:
            {{providerID}}
          {{/if}}
          {{else}}
          Token Creation - ({{this.explorer.symbol}}) | Block <a href="/block/{{block}}">{{block}}</a>
          {{/if}}
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
           <a href="/tx/{{this.tx.transaction_hash}}">
             {{#if isNFT}}
             <small>View<br>Transaction</small>
             {{else}}
             {{this.explorer.symbol}}<br><small>Creation</small>
             {{/if}}
          </a>
        </div>
      </div>
      {{/if}}

      {{#if isTokenTransfer this.tx.transactionType}}
      {{#if isTransferNFT}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Transfer NFT - 
          
          {{#if knownProvider}}
            <i class="ui certificate icon" title="Verified Provider"></i>
            <a href="{{providerURL}}/{{tx.tx.transaction_hash}}">{{providerName}}</a> ({{providerID}})
          {{else}}
            <i class="ui warning icon" title="Unverified Provider: ask your provider to contact support@theqrl.org"></i>Unverified provider:
            {{providerID}}
          {{/if}}
          
          | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{else}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Token Transfer - ({{this.explorer.symbol}}) | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{amount}} {{this.explorer.symbol}}</a>
        </div>
      </div>
      {{/if}}
      {{/if}}

      {{#if isCoinbaseTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/receive.svg" />
        <div class="content">
          <div class="header">
             {{ts}}
          </div>
          Coinbase Received | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{this.amount}}<br><small>Quanta</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isSlaveTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Slave Transaction | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isMultiSigCreateTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          MultiSig CREATE | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isMultiSigSpendTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          MultiSig SPEND | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{msSpendAmount this}}<br><small>Quanta</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isMultiSigVoteTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          MultiSig VOTE | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{msVoteStatus this}}</a>
        </div>
      </div>
      {{/if}}

      {{#if isLatticePKTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Lattice Public Key | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isMessageTxn this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Message | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isDocumentNotarisation this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Document Notarisation | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isKeybaseTxn this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{ts}}
          </div>
          Keybase | Block <a href="/block/{{block}}">{{block}}</a>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

    {{else}}
      <!-- Unconfirmed Txn -->

      {{#if isTransfer this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            Transfer | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{amount}} Quanta</a>
        </div>
      </div>
      {{/if}}

      {{#if isTokenCreation this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{#if isNFT}}
            Create NFT | Unconfirmed | First Seen: {{ts}}
            {{else}}
            Token Creation - ({{this.explorer.symbol}}) | Unconfirmed | First Seen: {{ts}}
            {{/if}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
           <a href="/tx/{{this.tx.transaction_hash}}">{{this.explorer.symbol}}<br><small>Creation</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isTokenTransfer this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            {{#if isNFT}}
            Transfer NFT | Unconfirmed | First Seen: {{ts}}
            {{else}}
            Token Transfer - ({{this.explorer.symbol}}) | Unconfirmed | First Seen: {{ts}}
            {{/if}}
          </div>
          <p class="transactionAddress">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}">{{amount}}<br><small>{{this.explorer.symbol}}</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isSlaveTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/receive.svg" />
        <div class="content">
          <div class="header">
            Slave Transaction | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isLatticePKTxn this.tx.transactionType}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            Lattice Public Key | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isMessageTxn this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            Message | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isDocumentNotarisation this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            Document Notarisation | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

      {{#if isKeybaseTxn this.explorer.type}}
      <div class="ui icon message transactionRecord">
        <img class="transactionTypeImage" src="/img/icons/send.svg" />
        <div class="content">
          <div class="header">
            Keybase | Unconfirmed | First Seen: {{ts}}
          </div>
          <p class="transactionAddress value">
            {{this.tx.transaction_hash}}
          </p>
        </div>
        <div class="floatright ta-c">
          <a href="/tx/{{this.tx.transaction_hash}}"><small>View<br>Transaction</small></a>
        </div>
      </div>
      {{/if}}

    {{/if}}

  {{/each}}
{{/if}} {{/with}}


</template>