diff --git a/lib/aprsme_web/live/map_live/components.ex b/lib/aprsme_web/live/map_live/components.ex
index 72ad543..8b39fd5 100644
--- a/lib/aprsme_web/live/map_live/components.ex
+++ b/lib/aprsme_web/live/map_live/components.ex
@@ -196,7 +196,7 @@ defmodule AprsmeWeb.MapLive.Components do
<%= if @tracked_callsign_latest_packet do %>
- Last seen: {time_ago_in_words(@tracked_callsign_latest_packet.received_at)}
+ Last seen: {time_ago_in_words(get_received_at(@tracked_callsign_latest_packet))}
<% end %>
@@ -354,4 +354,11 @@ defmodule AprsmeWeb.MapLive.Components do
"""
end
+
+ # Helper function to get received_at from packet with either atom or string keys
+ defp get_received_at(packet) when is_map(packet) do
+ packet[:received_at] || packet["received_at"]
+ end
+
+ defp get_received_at(_), do: nil
end