defmodule LiveDebuggerWeb.Live.Traces.Components do @moduledoc """ UI components for the TracesLive module. """ use LiveDebuggerWeb, :live_component alias LiveDebugger.Structs.Trace alias LiveDebuggerWeb.Components.ElixirDisplay alias LiveDebugger.Utils.TermParser attr(:id, :string, required: true) attr(:trace, :map, default: nil) def trace_fullscreen(assigns) do assigns = case assigns.trace do nil -> assigns |> assign(:callback_name, "Unknown trace") |> assign(:trace_args, []) trace -> assigns |> assign(:callback_name, Trace.callback_name(trace)) |> assign(:trace_args, trace.args) end ~H""" <.fullscreen id={@id} title={@callback_name}>
""" end attr(:id, :string, required: true) attr(:trace_args, :list, required: true) attr(:trace, :map, required: true) def trace_body(assigns) do ~H""" <%= for {args, index} <- Enum.with_index(@trace_args) do %>