defmodule MvWeb.UserLive.Show do use MvWeb, :live_view @impl true def render(assigns) do ~H""" <.header> {gettext("User")} {@user.email} <:subtitle>{gettext("This is a user record from your database.")} <:actions> <.button navigate={~p"/users"}> <.icon name="hero-arrow-left" /> <.button variant="primary" navigate={~p"/users/#{@user}/edit?return_to=show"}> <.icon name="hero-pencil-square" /> {gettext("Edit User")} <.list> <:item title={gettext("ID")}>{@user.id} <:item title={gettext("Email")}>{@user.email} <:item title={gettext("Member")}>
<.link navigate={~p"/members/#{@user.member.id}"} class="link link-primary"> {@user.member.first_name} {@user.member.last_name} ({@user.member.email})
{gettext("No member assigned")} <:item title={gettext("OIDC ID")}>{@user.oidc_id || gettext("Not set")} <:item title={gettext("Password Authentication")}> {if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")}
""" end @impl true def mount(%{"id" => id}, _session, socket) do user = Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts) |> Ash.load!(:member) {:ok, socket |> assign(:page_title, gettext("Show User")) |> assign(:user, user)} end end