defmodule Monitorex.Components.Live.ErrorBoundary do @moduledoc """ Error boundary wrapper for Monitorex LiveComponents. Catches crashes in child LiveComponents and displays a friendly error card instead of taking down the entire page. Click "Retry" to re-mount. """ use Phoenix.LiveComponent @impl true def update(assigns, socket) do socket = socket |> assign(:error, nil) |> assign(:component_id, assigns[:id]) {:ok, socket} end @impl true def handle_event("retry", _params, socket) do {:noreply, assign(socket, :error, nil)} end @impl true def render(assigns) do ~H"""
<%= @error %>