<% {symbol_table_id, symbol_code} = AprsmeWeb.MapLive.PacketUtils.get_symbol_info(@packet || %{}) %> <% symbol_table = if symbol_table_id in ["/", "\\", "]"], do: symbol_table_id, else: "/" %> <% symbol_code = symbol_code || ">" %> <% symbol_table_num = case symbol_table do "/" -> 0 "\\" -> 1 "]" -> 2 _ -> 0 end %> <% symbol_code_ord = symbol_code |> String.to_charlist() |> List.first() |> (fn c -> if is_integer(c), do: c, else: 63 end).() %> <% _symbol_img = "/aprs-symbols/aprs-symbols-24-#{symbol_table_num}@2x.png" %> <% _symbol_index = symbol_code_ord - 33 %>

APRS station {@callsign} <%= if @packet do %> <% {symbol_table_id, symbol_code} = AprsmeWeb.MapLive.PacketUtils.get_symbol_info(@packet) %> <% symbol_table = if symbol_table_id in ["/", "\\", "]"], do: symbol_table_id, else: "/" %> <% symbol_code = symbol_code || ">" %> <% symbol_table_num = case symbol_table do "/" -> 0 "\\" -> 1 "]" -> 2 _ -> 0 end %> <% symbol_code_ord = symbol_code |> String.to_charlist() |> List.first() |> (fn c -> if is_integer(c), do: c, else: 63 end).() %> <% symbol_img = "/aprs-symbols/aprs-symbols-24-#{symbol_table_num}@2x.png" %> <% symbol_index = symbol_code_ord - 33 %> APRS symbol <% end %> <.link navigate={~p"/packets/#{@callsign}"} class="ml-2 text-sm text-blue-600 hover:underline"> View packets

<%= if @packet do %>
{@packet.comment || ""}
Location: {@packet.lat || ""}, {@packet.lon || ""}
Last position: {AprsmeWeb.MapLive.PacketUtils.get_timestamp( @packet )}
Altitude: {@packet.altitude} ft
Course: {@packet.course}°
Speed: {@packet.speed} MPH
Device: {@packet.manufacturer || ""} {@packet.equipment_type || ""}
Path: {@packet.path || ""}
Raw: <%= if is_binary(@packet.raw_packet) do %> {Aprsme.EncodingUtils.sanitize_string(@packet.raw_packet)} <% else %> {@packet.raw_packet || ""} <% end %>

Stations near current position

<%= for neighbor <- @neighbors do %> <% end %>
Callsign Distance Last heard
<.link navigate={~p"/info/#{neighbor.callsign}"} class="hover:underline"> {neighbor.callsign} <%= if neighbor.packet do %> <% {symbol_table_id, symbol_code} = AprsmeWeb.MapLive.PacketUtils.get_symbol_info(neighbor.packet) %> <% symbol_table = if symbol_table_id in ["/", "\\", "]"], do: symbol_table_id, else: "/" %> <% symbol_code = symbol_code || ">" %> <% symbol_table_num = case symbol_table do "/" -> 0 "\\" -> 1 "]" -> 2 _ -> 0 end %> <% symbol_code_ord = symbol_code |> String.to_charlist() |> List.first() |> (fn c -> if is_integer(c), do: c, else: 63 end).() %> <% symbol_img = "/aprs-symbols/aprs-symbols-24-#{symbol_table_num}@2x.png" %> <% symbol_index = symbol_code_ord - 33 %> APRS symbol <% end %> {neighbor.distance || ""} {neighbor.last_heard || ""}
<% else %>
No recent packet data available for this callsign.
<% end %>