| {gettext("Callsign")} | {gettext("Distance & Direction")} | {gettext("Last Heard")} |
|---|---|---|
|
<.link navigate={~p"/info/#{ssid_info.callsign}"} class="link link-primary">
{ssid_info.callsign}
<%= if ssid_info.packet do %>
<% {symbol_table, symbol_code} =
AprsmeWeb.AprsSymbol.extract_from_packet(ssid_info.packet) %>
<% display_symbol =
if symbol_table && String.match?(symbol_table, ~r/^[A-Z0-9]$/),
do: symbol_table,
else:
"#{AprsmeWeb.AprsSymbol.normalize_symbol_table(symbol_table)}#{AprsmeWeb.AprsSymbol.normalize_symbol_code(symbol_code)}" %>
{render_symbol_html(ssid_info.packet)}
<% end %>
|
<%= if ssid_info.packet && ssid_info.packet.lat && ssid_info.packet.lon && @packet && @packet.lat && @packet.lon do %> <% dist = haversine( @packet.lat, @packet.lon, ssid_info.packet.lat, ssid_info.packet.lon ) %> <% course = calculate_course( @packet.lat, @packet.lon, ssid_info.packet.lat, ssid_info.packet.lon ) %> <% locale = Map.get(assigns, :locale, "en") %> {format_distance(dist, locale)} @ {Float.round(course, 0)}° <% else %> - <% end %> | <%= if ssid_info.last_heard && ssid_info.last_heard.timestamp do %> {ssid_info.last_heard.time_ago} <% else %> {gettext("Unknown")} <% end %> |
| {gettext("Callsign")} | {gettext("Distance & Course")} | {gettext("Last Heard")} |
|---|---|---|
|
<.link navigate={~p"/info/#{neighbor.callsign}"} class="link link-primary">
{neighbor.callsign}
<%= if neighbor.packet do %>
<% {symbol_table, symbol_code} =
AprsmeWeb.AprsSymbol.extract_from_packet(neighbor.packet) %>
<% display_symbol =
if symbol_table && String.match?(symbol_table, ~r/^[A-Z0-9]$/),
do: symbol_table,
else:
"#{AprsmeWeb.AprsSymbol.normalize_symbol_table(symbol_table)}#{AprsmeWeb.AprsSymbol.normalize_symbol_code(symbol_code)}" %>
{render_symbol_html(neighbor.packet)}
<% end %>
|
<%= if neighbor.course do %> {neighbor.distance || ""} @ {Float.round(neighbor.course, 0)}° <% else %> {neighbor.distance || ""} <% end %> |
<%= if neighbor.last_heard do %>
{neighbor.last_heard.time_ago}
{neighbor.last_heard.formatted}
<% else %>
{gettext("Unknown")}
<% end %>
|
| {gettext("Callsign")} | {gettext("First Heard")} | {gettext("Last Heard")} | {gettext("Packets")} | {gettext("Longest Path")} |
|---|---|---|---|---|
| <.link navigate={~p"/info/#{station.digipeater}"} class="link link-primary"> {station.digipeater} |
<%= if station.first_heard do %>
{Calendar.strftime(station.first_heard, "%Y-%m-%d %H:%M")}
<% else %>
-
<% end %>
|
<%= if station.last_heard do %>
{AprsmeWeb.TimeHelpers.time_ago_in_words(station.last_heard)}
{Calendar.strftime(station.last_heard, "%Y-%m-%d %H:%M")}
<% else %>
-
<% end %>
|
{station.packet_count} |
<%= if station.longest_distance do %>
{station.longest_distance}
<%= if station.longest_path_time do %>
{Calendar.strftime(station.longest_path_time, "%Y-%m-%d %H:%M")}
<% end %>
<% else %>
-
<% end %>
|
| {gettext("Callsign")} | {gettext("First Heard")} | {gettext("Last Heard")} | {gettext("Packets")} | {gettext("Longest Path")} |
|---|---|---|---|---|
| <.link navigate={~p"/info/#{station.station}"} class="link link-primary"> {station.station} |
<%= if station.first_heard do %>
{Calendar.strftime(station.first_heard, "%Y-%m-%d %H:%M")}
<% else %>
-
<% end %>
|
<%= if station.last_heard do %>
{AprsmeWeb.TimeHelpers.time_ago_in_words(station.last_heard)}
{Calendar.strftime(station.last_heard, "%Y-%m-%d %H:%M")}
<% else %>
-
<% end %>
|
{station.packet_count} |
<%= if station.longest_distance do %>
{station.longest_distance}
<%= if station.longest_path_time do %>
{Calendar.strftime(station.longest_path_time, "%Y-%m-%d %H:%M")}
<% end %>
<% else %>
-
<% end %>
|
{gettext("No recent packet data available for this callsign.")}