<%= for packet <- @packets do %> <% end %>
{gettext("Sender")} {gettext("SSID")} {gettext("Base Callsign")} {gettext("Data Type")} {gettext("Symbol")} {gettext("Path")} {gettext("Latitude")} {gettext("Longitude")} {gettext("Device")}
<.link navigate={ ~p"/packets/#{Map.get(packet, :base_callsign, Map.get(packet, "base_callsign", ""))}" } class="link link-primary font-medium" > {Map.get(packet, :sender, Map.get(packet, "sender", ""))} {Map.get(packet, :ssid, Map.get(packet, "ssid", ""))} <.link navigate={ ~p"/packets/#{Map.get(packet, :base_callsign, Map.get(packet, "base_callsign", ""))}" } class="link link-primary font-medium" > {Map.get(packet, :base_callsign, Map.get(packet, "base_callsign", ""))} {Map.get(packet, :data_type, Map.get(packet, "data_type", ""))} <% data = Map.get(packet, :data_extended) || %{} raw_table = Map.get(data, :symbol_table_id) || Map.get(data, "symbol_table_id") || "/" table = if raw_table in ["/", "\\", "]"], do: raw_table, else: "/" code = Map.get(data, :symbol_code) || Map.get(data, "symbol_code") || ">" %> {table}{code} {Map.get(packet, :path, Map.get(packet, "path", ""))} <% lat = Map.get(packet, :lat) || if( Map.has_key?(packet, :location) and not is_nil(packet.location) and function_exported?(Aprsme.Packet, :lat, 1), do: Aprsme.Packet.lat(packet), else: nil ) || case Map.get(packet, :data_extended) do %{} = data_ext -> case Map.get(data_ext, :latitude) || Map.get(data_ext, "latitude") do {:ok, value} -> value value -> value end _ -> nil end %> <%= if not is_nil(lat) do %> <%= if is_float(lat) do %> {:io_lib.format("~.6f", [lat]) |> List.to_string()} <% else %> <%= if is_binary(lat) do %> {Regex.replace(~r/(\d+\.\d{1,6})\d*/, lat, "\\1")} <% else %> {lat} <% end %> <% end %> <% else %> "" <% end %> <% lon = Map.get(packet, :lon) || if( Map.has_key?(packet, :location) and not is_nil(packet.location) and function_exported?(Aprsme.Packet, :lon, 1), do: Aprsme.Packet.lon(packet), else: nil ) || case Map.get(packet, :data_extended) do %{} = data_ext -> case Map.get(data_ext, :longitude) || Map.get(data_ext, "longitude") do {:ok, value} -> value value -> value end _ -> nil end %> <%= if not is_nil(lon) do %> <%= if is_float(lon) do %> {:io_lib.format("~.6f", [lon]) |> List.to_string()} <% else %> <%= if is_binary(lon) do %> {Regex.replace(~r/(\d+\.\d{1,6})\d*/, lon, "\\1")} <% else %> {lon} <% end %> <% end %> <% else %> "" <% end %> {Map.get(packet, :device_identifier, Map.get(packet, "device_identifier", ""))}
<%= if length(@packets) == 0 do %>

{gettext("No packets")}

{gettext("Packets will appear here as they are received.")}

<% end %>