defmodule MvWeb.MemberLive.Show do use MvWeb, :live_view @impl true def render(assigns) do ~H""" <.header> Member {@member.id} <:subtitle>This is a member record from your database. <:actions> <.link patch={~p"/members/#{@member}/show/edit"} phx-click={JS.push_focus()}> <.button>Edit member <.list> <:item title="Id">{@member.id} <.back navigate={~p"/members"}>Back to members <.modal :if={@live_action == :edit} id="member-modal" show on_cancel={JS.patch(~p"/members/#{@member}")} > <.live_component module={MvWeb.MemberLive.FormComponent} id={@member.id} title={@page_title} action={@live_action} member={@member} patch={~p"/members/#{@member}"} /> """ end @impl true def mount(_params, _session, socket) do {:ok, socket} end @impl true def handle_params(%{"id" => id}, _, socket) do {:noreply, socket |> assign(:page_title, page_title(socket.assigns.live_action)) |> assign(:member, Ash.get!(Mv.Membership.Member, id))} end defp page_title(:show), do: "Show Member" defp page_title(:edit), do: "Edit Member" end