{% extends "base.html" %} {% block css %} table { width: 80%; border-collapse: collapse; margin-top: 1em; margin-left: auto; margin-right: auto; } th, td { padding: 10px; border: 1px solid #333; text-align: left; } th { background-color: #1f1f1f; color: white; cursor: pointer; } tr:nth-child(even) { background-color: #181818; } tr:nth-child(odd) { background-color: #222; } .search-container { display: flex; gap: 10px; margin-bottom: 10px; width: 80%; margin-left: auto; margin-right: auto; } .search, .filter-role, .filter-channel, .filter-hw_model, .export-btn { padding: 8px; border: 1px solid #333; border-radius: 4px; } .filter-role, .filter-channel, .filter-hw_model { cursor: pointer; } .export-btn { background: #28a745; color: white; border: none; cursor: pointer; } .export-btn:hover { background: #218838; } .count-container { margin-bottom: 10px; font-weight: bold; color: white; width: 80%; margin-left: auto; margin-right: auto; } {% endblock %} {% block body %}
Showing 0 nodes
{% if nodes %} {% for node in nodes %} {% endfor %}
Long Name Short Name HW Model Firmware Role Last Latitude Last Longitude Channel Last Update
{{ node.long_name }} {{ node.short_name }} {{ node.hw_model if node.hw_model else "N/A" }} {{ node.firmware }} {{ node.role if node.role else "N/A" }} {{ "{:.7f}".format(node.last_lat / 10**7) if node.last_lat else "N/A" }} {{ "{:.7f}".format(node.last_long / 10**7) if node.last_long else "N/A" }} {{ node.channel if node.channel else "N/A" }} {{ node.last_update.strftime('%-I:%M:%S %p - %m-%d-%Y') if node.last_update else "N/A" }}
{% else %}

No nodes found.

{% endif %}
{% endblock %}