diff --git a/CODE_GUIDELINES.md b/CODE_GUIDELINES.md index 70e1596..439eee8 100644 --- a/CODE_GUIDELINES.md +++ b/CODE_GUIDELINES.md @@ -1264,6 +1264,8 @@ end ### 3.12 Internationalization: Gettext +**German (de):** Use informal address (“duzen”). All user-facing German text should address the user as “du” (e.g. “Bitte versuche es erneut”, “Deine Einstellungen”), not “Sie”. + **Define Translations:** ```elixir diff --git a/lib/mv_web/live/group_live/show.ex b/lib/mv_web/live/group_live/show.ex index 0251fb6..0c7e93e 100644 --- a/lib/mv_web/live/group_live/show.ex +++ b/lib/mv_web/live/group_live/show.ex @@ -17,10 +17,12 @@ defmodule MvWeb.GroupLive.Show do require Logger + import Ash.Expr import MvWeb.LiveHelpers, only: [current_actor: 1] import MvWeb.Authorization alias Mv.Membership + alias MvWeb.Helpers.MemberHelpers, as: MemberHelpers @impl true def mount(_params, _session, socket) do @@ -29,6 +31,7 @@ defmodule MvWeb.GroupLive.Show do |> assign(:show_add_member_input, false) |> assign(:member_search_query, "") |> assign(:available_members, []) + |> assign(:add_member_candidates, []) |> assign(:selected_member_ids, []) |> assign(:selected_members, []) |> assign(:show_member_dropdown, false) @@ -94,13 +97,21 @@ defmodule MvWeb.GroupLive.Show do
- <%= if can?(@current_user, :update, Mv.Membership.Group) do %> - <.button variant="primary" navigate={~p"/groups/#{@group.slug}/edit"}> + <%= if can?(@current_user, :update, @group) do %> + <.button + variant="primary" + navigate={~p"/groups/#{@group.slug}/edit"} + data-testid="group-show-edit-btn" + > {gettext("Edit")} <% end %> - <%= if can?(@current_user, :destroy, Mv.Membership.Group) do %> - <.button class="btn-error" phx-click="open_delete_modal"> + <%= if can?(@current_user, :destroy, @group) do %> + <.button + class="btn-error" + phx-click="open_delete_modal" + data-testid="group-show-delete-btn" + > {gettext("Delete")} <% end %> @@ -123,7 +134,7 @@ defmodule MvWeb.GroupLive.Show do

{gettext("Members")}

-

+

{ngettext( "Total: %{count} member", "Total: %{count} members", @@ -132,7 +143,7 @@ defmodule MvWeb.GroupLive.Show do )}

- <%= if can?(@current_user, :update, Mv.Membership.Group) do %> + <%= if can?(@current_user, :update, @group) do %>
<%= if assigns[:show_add_member_input] do %>
@@ -160,6 +171,7 @@ defmodule MvWeb.GroupLive.Show do @@ -255,15 +268,17 @@ defmodule MvWeb.GroupLive.Show do <% end %> <%= if Enum.empty?(@group.members || []) do %> -

{gettext("No members in this group")}

+

+ {gettext("No members in this group")} +

<% else %> -
+
- <%= if can?(@current_user, :update, Mv.Membership.Group) do %> + <%= if can?(@current_user, :update, @group) do %> <% end %> @@ -291,13 +306,14 @@ defmodule MvWeb.GroupLive.Show do <% end %> - <%= if can?(@current_user, :update, Mv.Membership.Group) do %> + <%= if can?(@current_user, :update, @group) do %>
{gettext("Name")} {gettext("Email")}{gettext("Actions")}