diff --git a/lib/microwaveprop_web/live/contact_live/index.ex b/lib/microwaveprop_web/live/contact_live/index.ex
index 4a024072..980533b5 100644
--- a/lib/microwaveprop_web/live/contact_live/index.ex
+++ b/lib/microwaveprop_web/live/contact_live/index.ex
@@ -72,13 +72,22 @@ defmodule MicrowavepropWeb.ContactLive.Index do
defp validate_sort_order(order) when order in ~w(asc desc), do: order
defp validate_sort_order(_), do: @default_sort_order
- @enrichment_fields [:hrrr_status, :weather_status, :terrain_status, :iemre_status]
+ @enrichment_fields [
+ {:hrrr_status, "HRRR"},
+ {:weather_status, "Weather"},
+ {:terrain_status, "Terrain"},
+ {:iemre_status, "IEMRE"}
+ ]
@done_statuses [:complete, :unavailable]
defp enrichment_badge(contact) do
- statuses = Enum.map(@enrichment_fields, &Map.get(contact, &1))
- done = Enum.count(statuses, &(&1 in @done_statuses))
- failed = Enum.count(statuses, &(&1 == :failed))
+ details =
+ Enum.map(@enrichment_fields, fn {field, name} ->
+ {name, Map.get(contact, field)}
+ end)
+
+ done = Enum.count(details, fn {_, s} -> s in @done_statuses end)
+ failed = Enum.count(details, fn {_, s} -> s == :failed end)
{label, class} =
cond do
@@ -88,10 +97,15 @@ defmodule MicrowavepropWeb.ContactLive.Index do
true -> {"Pending", "badge-ghost"}
end
- assigns = %{label: label, class: class}
+ tooltip =
+ Enum.map_join(details, ", ", fn {name, status} ->
+ "#{name}: #{status}"
+ end)
+
+ assigns = %{label: label, class: class, tooltip: tooltip}
~H"""
- {@label}
+ {@label}
"""
end