added network page

This commit is contained in:
aglkm
2026-03-18 20:52:41 +03:00
parent a0840ded3d
commit 8d2743831a
9 changed files with 514 additions and 30 deletions
+31
View File
@@ -50,6 +50,9 @@
<li class="nav-item">
<a class="nav-link" href="/emission"><i class="bi bi-graph-down-arrow"></i> Emission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><i class="bi bi-hdd-network"></i> Network</a>
</li>
{% elif route == "block_list" or route == "block_list_by_height" %}
<li class="nav-item">
<a class="nav-link" href="/"><i class="bi bi-speedometer"></i> Dashboard</a>
@@ -63,6 +66,9 @@
<li class="nav-item">
<a class="nav-link" href="/emission"><i class="bi bi-graph-down-arrow"></i> Emission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><i class="bi bi-hdd-network"></i> Network</a>
</li>
{% elif route == "stats" %}
<li class="nav-item">
<a class="nav-link" href="/"><i class="bi bi-speedometer"></i> Dashboard</a>
@@ -76,6 +82,9 @@
<li class="nav-item">
<a class="nav-link" href="/emission"><i class="bi bi-graph-down-arrow"></i> Emission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><i class="bi bi-hdd-network"></i> Network</a>
</li>
{% elif route == "emission" %}
<li class="nav-item">
<a class="nav-link" href="/"><i class="bi bi-speedometer"></i> Dashboard</a>
@@ -89,6 +98,25 @@
<li class="nav-item">
<a class="nav-link" href="/emission"><div class="darkorange-text"><i class="bi bi-graph-down-arrow"></i> Emission</div></a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><i class="bi bi-hdd-network"></i> Network</a>
</li>
{% elif route == "network" %}
<li class="nav-item">
<a class="nav-link" href="/"><i class="bi bi-speedometer"></i> Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/block_list"><i class="bi bi-box"></i> Blocks</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/stats"><i class="bi bi-calculator"></i> Statistics</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/emission"><i class="bi bi-graph-down-arrow"></i> Emission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><div class="darkorange-text"><i class="bi bi-hdd-network"></i> Network</div></a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link" href="/"><i class="bi bi-speedometer"></i> Dashboard</a>
@@ -102,6 +130,9 @@
<li class="nav-item">
<a class="nav-link" href="/emission"><i class="bi bi-graph-down-arrow"></i> Emission</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/network"><i class="bi bi-hdd-network"></i> Network</a>
</li>
{% endif %}
</ul>
+217
View File
@@ -0,0 +1,217 @@
{% extends "base" %}
{% block content %}
<code>
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
<div class="card-body" align="center">
<div class="value-text">
<div class="darkorange-text">PUBLIC NODES</div>
</div>
</div>
</div>
<div class="d-none d-md-block"> <!-- Show on >= md screens -->
<div class="card-group">
<div class="card border-start-0 rounded-0">
<div class="card-body">
<div class="darkorange-text">
NAME
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-body">
<div class="darkorange-text">
VERSION
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-body">
<div class="darkorange-text">
LATEST BLOCK
</div>
</div>
</div>
<div class="card border-end-0 rounded-0">
<div class="card-body">
<div class="darkorange-text">
BLOCK HASH
</div>
</div>
</div>
</div>
{% for node in pub_nodes %}
<div class="card-group rounded-0">
<div class="card border-top-0 border-start-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.name }}</div>
</div>
</div>
<div class="card border-top-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.version }}</div>
</div>
</div>
<div class="card border-top-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.height }}</div>
</div>
</div>
<div class="card border-top-0 border-end-0 rounded-0">
<div class="card-body">
<div class="value-text">
<a class="text-decoration-none" href="/hash/{{ node.hash }}">
{{ node.hash | truncate(length=15) }}
</a>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="d-md-none"> <!-- Show on < md screens-->
{% for node in pub_nodes %}
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
<div class="card-body" align="left">
<div class="d-flex justify-content-start">
<i class="bi bi-pc-display-horizontal darkorange-text"></i>&nbsp;
<div class="darkorange-text">{{ node.name }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">Version</div>
<div class="value-text">{{ node.version }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">Latest Block</div>
<div class="value-text">{{ node.height }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">Block Hash</div>
<div class="value-text">
<a class="text-decoration-none" href="/hash/{{ node.hash }}">
{{ node.hash | truncate(length=15) }}
</a>
</div>
</div>
</div>
</div>
{% endfor %}
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
</div>
</div>
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
<div class="card-body" align="center">
<div class="value-text">
<div class="darkorange-text">REACHABLE NODES ({{ reach_len }})</div>
</div>
</div>
</div>
<div class="d-none d-md-block"> <!-- Show on >= md screens -->
<div class="card-group">
<div class="card border-start-0 rounded-0">
<div class="card-body">
<div class="darkorange-text">
ADDRESS
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-body">
<div class="darkorange-text">
USER AGENT
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-body">
<div class="darkorange-text">
ISP
</div>
</div>
</div>
<div class="card border-end-0 rounded-0">
<div class="card-body">
<div class="darkorange-text">
LOCATION
</div>
</div>
</div>
</div>
{% for node in reach_nodes %}
<div class="card-group rounded-0">
<div class="card border-top-0 border-start-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.address }}</div>
</div>
</div>
<div class="card border-top-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.user_agent }}</div>
</div>
</div>
<div class="card border-top-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.isp }}</div>
</div>
</div>
<div class="card border-top-0 border-end-0 rounded-0">
<div class="card-body">
<div class="value-text">{{ node.location }} {{ node.flag }}</div>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="d-md-none"> <!-- Show on < md screens-->
{% for node in reach_nodes %}
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
<div class="card-body" align="left">
<div class="d-flex justify-content-start">
<i class="bi bi-pc-display-horizontal darkorange-text"></i>&nbsp;
<div class="darkorange-text">{{ node.address }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">User Agent</div>
<div class="value-text">{{ node.user_agent }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">ISP</div>
<div class="value-text">{{ node.isp }}</div>
</div>
<br>
<div class="d-flex justify-content-between">
<div class="value-text">Location</div>
<div class="value-text">{{ node.location }} {{ node.flag }}</div>
</div>
</div>
</div>
{% endfor %}
<div class="card border-bottom-0 border-start-0 border-end-0 rounded-0">
</div>
</div>
</code>
{% endblock %}