{% extends "base.html" %} {% block title %}{{ network_name }} - Node Details{% endblock %} {% block extra_head %} {% endblock %} {% block content %} {% if api_error %}
Could not fetch data from API: {{ api_error }}
{% endif %} {% if node %} {% set ns = namespace(tag_name=none) %} {% for tag in node.tags or [] %} {% if tag.key == 'name' %} {% set ns.tag_name = tag.value %} {% endif %} {% endfor %}

{% if node.adv_type %} {% if node.adv_type|lower == 'chat' %} 💬 {% elif node.adv_type|lower == 'repeater' %} 📡 {% elif node.adv_type|lower == 'room' %} 🪧 {% else %} 📍 {% endif %} {% endif %} {{ ns.tag_name or node.name or 'Unnamed Node' }}

Public Key

{{ node.public_key }}

Activity

First seen: {{ node.first_seen[:19].replace('T', ' ') if node.first_seen else '-' }}

Last seen: {{ node.last_seen[:19].replace('T', ' ') if node.last_seen else '-' }}

{% set ns_map = namespace(lat=none, lon=none) %} {% for tag in node.tags or [] %} {% if tag.key == 'lat' %} {% set ns_map.lat = tag.value %} {% elif tag.key == 'lon' %} {% set ns_map.lon = tag.value %} {% endif %} {% endfor %}
{% if node.tags %}

Tags

{% for tag in node.tags %} {% endfor %}
Key Value Type
{{ tag.key }} {{ tag.value }} {{ tag.value_type or 'string' }}
{% endif %} {% if ns_map.lat and ns_map.lon %}

Location

Coordinates: {{ ns_map.lat }}, {{ ns_map.lon }}

{% endif %}

Recent Advertisements

{% if advertisements %}
{% for adv in advertisements %} {% endfor %}
Time Type Received By
{{ adv.received_at[:19].replace('T', ' ') if adv.received_at else '-' }} {% if adv.adv_type and adv.adv_type|lower == 'chat' %} 💬 {% elif adv.adv_type and adv.adv_type|lower == 'repeater' %} 📡 {% elif adv.adv_type and adv.adv_type|lower == 'room' %} 🪧 {% elif adv.adv_type %} 📍 {% else %} - {% endif %} {% if adv.received_by %} {% if adv.receiver_tag_name or adv.receiver_name %}
{{ adv.receiver_tag_name or adv.receiver_name }}
{{ adv.received_by[:16] }}...
{% else %} {{ adv.received_by[:16] }}... {% endif %}
{% else %} - {% endif %}
{% else %}

No advertisements recorded.

{% endif %}

Recent Telemetry

{% if telemetry %}
{% for tel in telemetry %} {% endfor %}
Time Data Received By
{{ tel.received_at[:19].replace('T', ' ') if tel.received_at else '-' }} {% if tel.parsed_data %} {{ tel.parsed_data | tojson }} {% else %} - {% endif %} {% if tel.received_by %} {% if tel.receiver_tag_name or tel.receiver_name %}
{{ tel.receiver_tag_name or tel.receiver_name }}
{{ tel.received_by[:16] }}...
{% else %} {{ tel.received_by[:16] }}... {% endif %}
{% else %} - {% endif %}
{% else %}

No telemetry recorded.

{% endif %}
{% else %}
Node not found: {{ public_key }}
Back to Nodes {% endif %} {% endblock %} {% block extra_scripts %} {% if node %} {% set ns_map = namespace(lat=none, lon=none, name=none) %} {% for tag in node.tags or [] %} {% if tag.key == 'lat' %} {% set ns_map.lat = tag.value %} {% elif tag.key == 'lon' %} {% set ns_map.lon = tag.value %} {% elif tag.key == 'name' %} {% set ns_map.name = tag.value %} {% endif %} {% endfor %} {% if ns_map.lat and ns_map.lon %} {% endif %} {% endif %} {% endblock %}