defmodule ToweropsWeb.TraceLive.Index do @moduledoc """ LiveView for the Subscriber Trace / Help Desk Mode. Provides a unified search across subscribers, devices, and access points, then assembles a full "patient chart" trace view showing all relevant network health information at a glance. """ use ToweropsWeb, :live_view alias Towerops.Trace attr :trace, :map, required: true defp issues_callout(assigns) do issues = [] issues = if assigns.trace[:device] && assigns.trace.device.status == :down, do: [t("Device is DOWN") | issues], else: issues issues = if assigns.trace[:qoe_metrics] && assigns.trace.qoe_metrics[:qoe_score] && assigns.trace.qoe_metrics.qoe_score < 50, do: ["QoE score is critical (#{assigns.trace.qoe_metrics.qoe_score})" | issues], else: issues issues = if assigns.trace[:active_alerts] && assigns.trace.active_alerts != [], do: ["#{length(assigns.trace.active_alerts)} active alert(s)" | issues], else: issues assigns = assign(assigns, :issues, Enum.reverse(issues)) ~H"""