<.header> {gettext("Users")} <:subtitle>{gettext("Manage users and their permissions.")} <:actions> <%= if can?(@current_user, :create, Mv.Accounts.User) do %> <.button variant="primary" navigate={~p"/users/new"} data-testid="user-new"> <.icon name="hero-plus" /> {gettext("New User")} <% end %> <.table id="users" rows={@users} row_id={fn user -> "row-#{user.id}" end} row_click={fn user -> JS.navigate(~p"/users/#{user}") end} row_tooltip={gettext("Click for user details")} sort_field={@sort_field} sort_order={@sort_order} > <:col :let={user} sort_field={:email} label={ sort_button(%{ field: :email, label: gettext("Email"), sort_field: @sort_field, sort_order: @sort_order }) } > {user.email} <:col :let={user} label={gettext("Role")}> {user.role.name} <:col :let={user} label={gettext("Linked Member")}> <.maybe_value value={user.member} empty_sr_text={gettext("No member linked")}> {MvWeb.Helpers.MemberHelpers.display_name(user.member)} <:col :let={user} label={gettext("Password")}> <.maybe_value value={MvWeb.Helpers.UserHelpers.has_password?(user)} empty_sr_text={gettext("Not set")} > {gettext("Enabled")} <:col :let={user} label={gettext("OIDC")}> <.maybe_value value={MvWeb.Helpers.UserHelpers.has_oidc?(user)} empty_sr_text={gettext("Not set")} > {gettext("Linked")}