defmodule AprsmeWeb.StatusLive.ConnectionCardComponent do @moduledoc false use Phoenix.LiveComponent import Phoenix.Component def render(assigns) do ~H"""

APRS-IS Connection

Status: <%= if @aprs_status.connected do %>
Connected
<% else %>
Disconnected
<% end %>
Server: {@aprs_status.server}:{@aprs_status.port}
Login ID: {@aprs_status.login_id}
Connected Since: <%= if @aprs_status.connected_at do %> {Calendar.strftime(@aprs_status.connected_at, "%Y-%m-%d %H:%M:%S UTC")} <% else %> Not connected <% end %>
Uptime: {AprsmeWeb.StatusLive.Index.format_uptime(@aprs_status.uptime_seconds)}
Filter:
{@aprs_status.filter}

Packet Statistics

Total Packets: {AprsmeWeb.StatusLive.Index.format_number(@aprs_status.packet_stats.total_packets)}
Packets/Sec: {@aprs_status.packet_stats.packets_per_second}
Packets/Min: {@aprs_status.packet_stats.packets_per_second * 60}
Last Packet: <%= if @aprs_status.packet_stats.last_packet_at do %> {AprsmeWeb.StatusLive.Index.format_time_ago( @aprs_status.packet_stats.last_packet_at )} <% else %> None <% end %>
Stored Packets: {AprsmeWeb.StatusLive.Index.format_number(@aprs_status.stored_packet_count)}
Connection Health:
<%= for i <- 1..5 do %> <% end %>
{@health_score}/5

{AprsmeWeb.StatusLive.Index.get_health_description(@health_score, @aprs_status.connected)}

""" end end