2014-12-03 04:08:49 +01:00
|
|
|
extends layout
|
|
|
|
|
|
|
|
block content
|
2015-01-20 19:29:31 +01:00
|
|
|
div.container-fluid(ng-controller='StatsCtrl')
|
|
|
|
div.row
|
|
|
|
div.col-lg-6
|
|
|
|
div.col-sm-12
|
|
|
|
h1= title
|
|
|
|
p Welcome to #{title}
|
|
|
|
|
|
|
|
div.clearfix
|
|
|
|
|
|
|
|
div.col-xs-6.stat-holder
|
|
|
|
div.row.big-info.nodesactive.text-success
|
|
|
|
div.pull-left.icon-full-width
|
|
|
|
i.icon-bulb
|
|
|
|
div.pull-left
|
|
|
|
span.small-title nodes active
|
2015-01-28 23:38:54 +01:00
|
|
|
span.big-details {{nodesActive}}/{{nodesTotal}}
|
2015-01-20 19:29:31 +01:00
|
|
|
div.clearfix
|
|
|
|
div.col-xs-6.stat-holder
|
|
|
|
div.row.big-info.bestblock.text-info
|
|
|
|
div.pull-left.icon-full-width
|
|
|
|
i.icon-block
|
|
|
|
div.pull-left
|
|
|
|
span.small-title best block
|
2015-01-28 23:38:54 +01:00
|
|
|
span.big-details {{"#" + bestBlock}}
|
2015-01-20 19:29:31 +01:00
|
|
|
div.clearfix
|
|
|
|
div.col-xs-6.stat-holder
|
|
|
|
div.row.big-info.blocktime.text-success
|
|
|
|
div.pull-left.icon-full-width
|
|
|
|
i.icon-time
|
|
|
|
div.pull-left
|
2015-01-29 00:41:52 +01:00
|
|
|
span.small-title last block
|
|
|
|
span.big-details(am-time-ago="lastBlock", am-preprocess="unix")
|
2015-01-20 19:29:31 +01:00
|
|
|
div.clearfix
|
|
|
|
div.col-xs-6.stat-holder
|
|
|
|
div.row.big-info.uptime.text-info
|
|
|
|
div.pull-left.icon-full-width
|
|
|
|
i.icon-clock
|
|
|
|
div.pull-left
|
|
|
|
span.small-title up-time
|
2015-01-29 00:41:52 +01:00
|
|
|
span.big-details 100%
|
2015-01-20 19:29:31 +01:00
|
|
|
div.clearfix
|
|
|
|
|
|
|
|
div.clearfix
|
|
|
|
|
|
|
|
div.col-lg-6
|
|
|
|
div.col-xs-12
|
|
|
|
div#mapHolder
|
|
|
|
|
|
|
|
div.clearfix
|
|
|
|
|
|
|
|
div.col-sm-12
|
2015-01-29 17:50:16 +01:00
|
|
|
h1 Nodes in detail
|
2015-01-20 19:29:31 +01:00
|
|
|
|
|
|
|
table.table.table-striped
|
|
|
|
thead
|
|
|
|
tr.text-info
|
|
|
|
th
|
|
|
|
i.icon-node
|
|
|
|
th
|
|
|
|
i.icon-laptop
|
|
|
|
th
|
|
|
|
i.icon-group
|
|
|
|
th
|
|
|
|
i.icon-mining
|
|
|
|
th
|
|
|
|
i.icon-block
|
|
|
|
th.hidden-sm.hidden-xs
|
|
|
|
th
|
|
|
|
i.icon-time
|
|
|
|
th
|
|
|
|
i.icon-clock
|
|
|
|
tbody
|
2015-01-30 22:37:38 +01:00
|
|
|
tr(ng-repeat='node in nodes', class="{{ node.stats | mainClass : bestBlock }}")
|
2015-01-20 19:29:31 +01:00
|
|
|
td(rel="{{node.id}}") {{node.name}}
|
|
|
|
td {{node.type}}
|
2015-01-29 17:50:16 +01:00
|
|
|
td(class="{{ node.stats.peers | peerClass }}") {{node.stats.peers}}
|
|
|
|
td(class="{{ node.stats.mining | miningClass }}")
|
|
|
|
i(class="{{ node.stats.mining | miningIconClass }}")
|
|
|
|
td(class="{{ node.stats.block.height | blockClass : bestBlock }}") {{'#' + node.stats.block.height}}
|
|
|
|
td(class="{{ node.stats.block.height | blockClass : bestBlock }}").hidden-sm.hidden-xs
|
2015-01-28 23:38:54 +01:00
|
|
|
span.small {{node.stats.block.hash}}
|
2015-01-29 00:41:52 +01:00
|
|
|
td(am-time-ago="node.stats.block.timestamp", am-preprocess="unix")
|
2015-01-29 17:50:16 +01:00
|
|
|
td {{ node.stats.active ? '100%' : '0%' }}
|