Skip to content
Snippets Groups Projects
Select Git revision
  • 97b70b66a37f1b7f1626563de40c990598ae9c13
  • without_tipselection default
  • develop protected
  • fix/grafana-local-dashboard
  • wasp
  • fix/dashboard-explorer-freeze
  • master
  • feat/timerqueue
  • test/sync_debug_and_650
  • feat/sync_revamp_inv
  • wip/sync
  • tool/db-recovery
  • portcheck/fix
  • fix/synchronization
  • feat/new-dashboard-analysis
  • feat/refactored-analysis-dashboard
  • feat/new-analysis-dashboard
  • test/demo-prometheus-fpc
  • prometheus_metrics
  • wip/analysis-server
  • merge/fpc-test-value-transfer
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

plugins.go

Blame
  • index.html 5.76 KiB
    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="shortcut icon" href="ui/favicon.ico">
      <title>Shimmer UI</title>
      <link rel="stylesheet" href="https://unpkg.com/bulmaswatch@0.7.5/darkly/bulmaswatch.min.css">
      <link rel="stylesheet" href="ui/css/styles.css">
    </head>
    
    <body class="fade">
      <section id="app">
        <section class="section header" ref="header">
          <div class="container">
            <div class="columns">
              <div class="column">
                <h1 class="title">
                  <iota-icon size="42"></iota-icon>
                  Shimmer
                </h1>
                <span v-if="loggedIn" class="status">Status:<span class="tag is-light">{{synced}}</span>
              </div>
    
              <div v-if="!loggedIn" class="column">
                <form class="login" @submit="login">
                  <div>
                    <span>Username:</span>
                    <input class="input" placeholder="Username" name="username">
                  </div>
                  <div>
                    <span>Password:</span>
                    <input class="input" placeholder="Username" name="password">
                  </div>
                  <button type="submit" class="button is-primary">Login</button>
                </form>
              </div>
    
              <div v-if="loggedIn" class="column">
                <div class="list info-list">
                  <div v-for="(c, i) in infoKeys" class="list-item">
                    <span>{{ c }}:</span>&nbsp;
                    <span v-if="infoValues[i]">{{ infoValues[i] }}</span>
                  </li>
                </div>
              </div>
            </div>
          </div>
          <div v-if="loggedIn" class="tabs is-boxed">
            <ul>
              <li v-for="t in tabs" @click="selectTab(t)"
                :class="selectedTab===t?'is-active':''">
                <a>{{t}}</a>
              </li>
            </ul>
          </div>
        </section>
    
        <section class="section" v-if="selectedTab==='Logs'">
          <div class="container logs-container" :style="footerContainerStyle()">
            <table class="table logs-list">
              <thead v-if="logs.length>0"><tr>
                <th style="width:75px;">Time</th>
                <th>Message</th>
                <th style="width:75px;">Status</th>
              </tr></thead>
              <tbody>
                <tr v-for="log in logs">
                  <td>{{ log.time }}</td>
                  <td>{{ log.source }}: {{ log.message }}</td>
                  <td>[<span :style="'color:'+log.color+';'">{{ log.label }}</span>]</td>
                </tr>
              </tbody>
            </table>
          </div>
        </section>
    
        <section class="section" v-if="selectedTab==='Spammer'">
          <div class="container" :style="footerContainerStyle()">
            <div class="tx-toolbar">
              <div class="field is-grouped">
                <p class="control">
                  <input ref="tpsinput" class="input tps" type="number" v-model="tpsToSpam" placeholder="TPS">
                </p>
                <p class="control">
                  <button class="button is-info" @click="startSpam()" :disabled="tpsToSpam<1">
                    <play-icon size="19"></play-icon>
                  </button>
                </p>
                <p class="control">
                  <button class="button is-primary" @click="stopSpam()" :disabled="info.receivedTps<1">
                    <stop-icon size="19"></stop-icon>
                  </button>
                </p>
              </div>
              <!-- <div class="field is-grouped">
                <button class="button" @click="clearTxs()" :disabled="txs.length<1">
                  Clear
                </button>
              </div> -->
            </div>
            <div class="chart-container">
              <tps-chart ref="tpschart"></tps-chart>
            </div>
          </div>
        </section>
    
        <section class="section" v-if="selectedTab==='Transactions'">
          <div class="container transactions" :style="footerContainerStyle()">
            <div class="tx-container">
              <table v-if="txs.length>0" class="table tx-list">
                <thead><tr>
                  <th style="width:50px;"><iota-icon size="20"></iota-icon></th>
                  <th style="line-height:21px;">Hash</th>
                </tr></thead>
                <tbody>
                  <tr v-for="tx in txs" @click="selectTxHash(tx.hash)" :class="selectedTxHash===tx.hash ? 'full-tx' : ''">
                    <td v-if="selectedTxHash!==tx.hash">{{ tx.value }}</td>
                    <td>
                      <span v-if="selectedTxHash!==tx.hash">{{ tx.hash }}</span>
                      <pre v-if="selectedTxHash===tx.hash" :style="'width:calc('+(windowWidth-2)+'px - 3rem);'">{{ JSON.stringify(tx,null,2) }}</pre>
                    </td>
                  </tr>
                </tbody>
              </table>
              <div v-if="txs.length===0" class="no-txs">No transactions yet</div>
            </div>
          </div>
        </section>
    
        <section class="section" v-if="selectedTab==='Neighbors'">
          <div class="container graph" :style="footerContainerStyle()">
            <force-graph :neighbors="neighbors" :me="info.id"></force-graph>
          </div>
        </section>
    
      </section>
    
      <!-- <script src="https://unpkg.com/vue@2.5.9"></script> -->
      <script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>
      <script src="https://unpkg.com/dayjs@1.8.15"></script>
      <script src="https://unpkg.com/3d-force-graph"></script>
      <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
      <script src="https://code.highcharts.com/stock/highstock.js"></script>
      <script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
      <script src="https://code.highcharts.com/stock/modules/export-data.js"></script>
      <script src="ui/js/initials.js"></script>
      <script src="ui/js/utils.js"></script>
      <script src="ui/js/icons.js"></script>
      <script src="ui/js/forcegraph.js"></script>
      <script src="ui/js/tpschart.js"></script>
      <script src="ui/js/main.js"></script>
    </body>
    
    </html>