diff --git a/lib/mv_web/live/member_live/show.ex b/lib/mv_web/live/member_live/show.ex
index fbf5b4a..0b28b2e 100644
--- a/lib/mv_web/live/member_live/show.ex
+++ b/lib/mv_web/live/member_live/show.ex
@@ -37,6 +37,19 @@ defmodule MvWeb.MemberLive.Show do
<:item title={gettext("Street")}>{@member.street}
<:item title={gettext("House Number")}>{@member.house_number}
<:item title={gettext("Postal Code")}>{@member.postal_code}
+ <:item title={gettext("Linked User")}>
+ <%= if @member.user do %>
+ <.link
+ navigate={~p"/users/#{@member.user}"}
+ class="text-blue-600 hover:text-blue-800 underline"
+ >
+ <.icon name="hero-user" class="h-4 w-4 inline mr-1" />
+ {@member.user.email}
+
+ <% else %>
+ {gettext("No user linked")}
+ <% end %>
+
{gettext("Custom Properties")}
@@ -67,7 +80,7 @@ defmodule MvWeb.MemberLive.Show do
query =
Mv.Membership.Member
|> filter(id == ^id)
- |> load(properties: [:property_type])
+ |> load([:user, properties: [:property_type]])
member = Ash.read_one!(query)
diff --git a/lib/mv_web/live/user_live/show.ex b/lib/mv_web/live/user_live/show.ex
index 609a07c..5fefb25 100644
--- a/lib/mv_web/live/user_live/show.ex
+++ b/lib/mv_web/live/user_live/show.ex
@@ -26,6 +26,19 @@ defmodule MvWeb.UserLive.Show do
<:item title={gettext("Password Authentication")}>
{if @user.hashed_password, do: gettext("Enabled"), else: gettext("Not enabled")}
+ <:item title={gettext("Linked Member")}>
+ <%= if @user.member do %>
+ <.link
+ navigate={~p"/members/#{@user.member}"}
+ class="text-blue-600 hover:text-blue-800 underline"
+ >
+ <.icon name="hero-users" class="h-4 w-4 inline mr-1" />
+ {@user.member.first_name} {@user.member.last_name}
+
+ <% else %>
+ {gettext("No member linked")}
+ <% end %>
+
"""
@@ -33,9 +46,11 @@ defmodule MvWeb.UserLive.Show do
@impl true
def mount(%{"id" => id}, _session, socket) do
+ user = Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts, load: [:member])
+
{:ok,
socket
|> assign(:page_title, gettext("Show User"))
- |> assign(:user, Ash.get!(Mv.Accounts.User, id, domain: Mv.Accounts))}
+ |> assign(:user, user)}
end
end