From 8163b906a20ccf9e872b5d0f7525909c5a23e939 Mon Sep 17 00:00:00 2001 From: shibao Date: Wed, 15 Mar 2023 00:45:08 -0400 Subject: [PATCH] remove data-qa --- CHANGELOG.md | 3 + lib/cannery/activity_log/shot_group.ex | 8 +- .../components/ammo_type_table_component.ex | 6 +- .../live/ammo_group_live/index.html.heex | 25 ++- lib/cannery_web/live/ammo_group_live/show.ex | 10 +- .../live/ammo_group_live/show.html.heex | 14 +- .../live/ammo_type_live/index.html.heex | 9 +- .../live/ammo_type_live/show.html.heex | 4 +- .../live/container_live/index.html.heex | 15 +- .../live/container_live/show.html.heex | 4 +- .../live/invite_live/index.html.heex | 5 +- lib/cannery_web/live/live_helpers.ex | 4 +- .../live/range_live/index.html.heex | 13 +- lib/cannery_web/live/tag_live/index.html.heex | 5 +- mix.exs | 2 +- priv/gettext/actions.pot | 16 +- priv/gettext/de/LC_MESSAGES/actions.po | 16 +- priv/gettext/de/LC_MESSAGES/default.po | 153 +++++++++++++++--- priv/gettext/de/LC_MESSAGES/errors.po | 14 +- priv/gettext/de/LC_MESSAGES/prompts.po | 22 +-- priv/gettext/default.pot | 153 +++++++++++++++--- priv/gettext/en/LC_MESSAGES/actions.po | 16 +- priv/gettext/en/LC_MESSAGES/default.po | 153 +++++++++++++++--- priv/gettext/en/LC_MESSAGES/errors.po | 14 +- priv/gettext/en/LC_MESSAGES/prompts.po | 22 +-- priv/gettext/errors.pot | 14 +- priv/gettext/es/LC_MESSAGES/actions.po | 16 +- priv/gettext/es/LC_MESSAGES/default.po | 153 +++++++++++++++--- priv/gettext/es/LC_MESSAGES/errors.po | 14 +- priv/gettext/es/LC_MESSAGES/prompts.po | 22 +-- priv/gettext/fr/LC_MESSAGES/actions.po | 16 +- priv/gettext/fr/LC_MESSAGES/default.po | 153 +++++++++++++++--- priv/gettext/fr/LC_MESSAGES/errors.po | 14 +- priv/gettext/fr/LC_MESSAGES/prompts.po | 22 +-- priv/gettext/ga/LC_MESSAGES/actions.po | 16 +- priv/gettext/ga/LC_MESSAGES/default.po | 153 +++++++++++++++--- priv/gettext/ga/LC_MESSAGES/errors.po | 14 +- priv/gettext/ga/LC_MESSAGES/prompts.po | 22 +-- priv/gettext/prompts.pot | 22 +-- .../cannery_web/live/ammo_group_live_test.exs | 30 ++-- test/cannery_web/live/ammo_type_live_test.exs | 49 ++++-- test/cannery_web/live/container_live_test.exs | 41 +++-- test/cannery_web/live/invite_live_test.exs | 9 +- test/cannery_web/live/range_live_test.exs | 15 +- test/cannery_web/live/tag_live_test.exs | 10 +- 45 files changed, 1122 insertions(+), 389 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6b9565..83bf1d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# v0.8.4 +- Improve accessibility + # v0.8.3 - Improve some styles - Improve server log diff --git a/lib/cannery/activity_log/shot_group.ex b/lib/cannery/activity_log/shot_group.ex index c0efb70..3cb4bdf 100644 --- a/lib/cannery/activity_log/shot_group.ex +++ b/lib/cannery/activity_log/shot_group.ex @@ -79,7 +79,9 @@ defmodule Cannery.ActivityLog.ShotGroup do defp validate_create_shot_group_count(changeset, %AmmoGroup{count: ammo_group_count}) do if changeset |> Changeset.get_field(:count) > ammo_group_count do - error = dgettext("errors", "Count must be less than %{count}", count: ammo_group_count) + error = + dgettext("errors", "Count must be less than %{count} shots", count: ammo_group_count) + changeset |> Changeset.add_error(:count, error) else changeset @@ -115,7 +117,9 @@ defmodule Cannery.ActivityLog.ShotGroup do cond do shot_diff_to_add > ammo_group_count -> - error = dgettext("errors", "Count must be less than %{count}", count: ammo_group_count) + error = + dgettext("errors", "Count must be less than %{count} shots", count: ammo_group_count) + changeset |> Changeset.add_error(:count, error) new_shot_group_count <= 0 -> diff --git a/lib/cannery_web/components/ammo_type_table_component.ex b/lib/cannery_web/components/ammo_type_table_component.ex index fa36641..ef818f5 100644 --- a/lib/cannery_web/components/ammo_type_table_component.ex +++ b/lib/cannery_web/components/ammo_type_table_component.ex @@ -185,11 +185,7 @@ defmodule CanneryWeb.Components.AmmoTypeTableComponent do assigns = %{ammo_type: ammo_type} ~H""" - <.link - navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} - class="link" - data-qa={"view-name-#{@ammo_type.id}"} - > + <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link"> <%= @ammo_type.name %> """ diff --git a/lib/cannery_web/live/ammo_group_live/index.html.heex b/lib/cannery_web/live/ammo_group_live/index.html.heex index 19120b4..b1981ec 100644 --- a/lib/cannery_web/live/ammo_group_live/index.html.heex +++ b/lib/cannery_web/live/ammo_group_live/index.html.heex @@ -49,7 +49,6 @@ phx-change="search" phx-submit="search" class="grow self-stretch flex flex-col items-stretch" - data-qa="ammo_group_search" > <%= text_input(f, :search_term, class: "input input-primary", @@ -124,7 +123,11 @@ <.link navigate={Routes.ammo_group_show_path(Endpoint, :show, ammo_group)} class="text-primary-600 link" - data-qa={"view-#{ammo_group.id}"} + aria-label={ + gettext("View ammo group of %{ammo_group_count} bullets", + ammo_group_count: ammo_group.count + ) + } > @@ -132,7 +135,11 @@ <.link patch={Routes.ammo_group_index_path(Endpoint, :edit, ammo_group)} class="text-primary-600 link" - data-qa={"edit-#{ammo_group.id}"} + aria-label={ + gettext("Edit ammo group of %{ammo_group_count} bullets", + ammo_group_count: ammo_group.count + ) + } > @@ -140,7 +147,11 @@ <.link patch={Routes.ammo_group_index_path(Endpoint, :clone, ammo_group)} class="text-primary-600 link" - data-qa={"clone-#{ammo_group.id}"} + aria-label={ + gettext("Clone ammo group of %{ammo_group_count} bullets", + ammo_group_count: ammo_group.count + ) + } > @@ -151,7 +162,11 @@ phx-click="delete" phx-value-id={ammo_group.id} data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")} - data-qa={"delete-#{ammo_group.id}"} + aria-label={ + gettext("Delete ammo group of %{ammo_group_count} bullets", + ammo_group_count: ammo_group.count + ) + } > diff --git a/lib/cannery_web/live/ammo_group_live/show.ex b/lib/cannery_web/live/ammo_group_live/show.ex index 06de2eb..3303b0a 100644 --- a/lib/cannery_web/live/ammo_group_live/show.ex +++ b/lib/cannery_web/live/ammo_group_live/show.ex @@ -129,7 +129,9 @@ defmodule CanneryWeb.AmmoGroupLive.Show do <.link patch={Routes.ammo_group_show_path(Endpoint, :edit_shot_group, @ammo_group, @shot_group)} class="text-primary-600 link" - data-qa={"edit-#{@shot_group.id}"} + aria-label={ + gettext("Edit shot group of %{shot_group_count} shots", shot_group_count: @shot_group.count) + } > @@ -140,7 +142,11 @@ defmodule CanneryWeb.AmmoGroupLive.Show do phx-click="delete_shot_group" phx-value-id={@shot_group.id} data-confirm={dgettext("prompts", "Are you sure you want to delete this shot record?")} - data-qa={"delete-#{@shot_group.id}"} + aria-label={ + gettext("Delete shot record of %{shot_group_count} shots", + shot_group_count: @shot_group.count + ) + } > diff --git a/lib/cannery_web/live/ammo_group_live/show.html.heex b/lib/cannery_web/live/ammo_group_live/show.html.heex index 147b68d..c9e9b63 100644 --- a/lib/cannery_web/live/ammo_group_live/show.html.heex +++ b/lib/cannery_web/live/ammo_group_live/show.html.heex @@ -55,7 +55,6 @@ <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_group.ammo_type)} class="mx-4 my-2 btn btn-primary" - data-qa="details" > <%= dgettext("actions", "View in Catalog") %> @@ -63,7 +62,11 @@ <.link patch={Routes.ammo_group_show_path(Endpoint, :edit, @ammo_group)} class="mx-4 my-2 text-primary-600 link" - data-qa="edit" + aria-label={ + gettext("Edit ammo group of %{ammo_group_count} bullets", + ammo_group_count: @ammo_group.count + ) + } > @@ -73,7 +76,11 @@ class="mx-4 my-2 text-primary-600 link" phx-click="delete" data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")} - data-qa="delete" + aria-label={ + gettext("Delete ammo group of %{ammo_group_count} bullets", + ammo_group_count: @ammo_group.count + ) + } > @@ -89,7 +96,6 @@ <.link patch={Routes.ammo_group_show_path(Endpoint, :move, @ammo_group)} class="btn btn-primary" - data-qa="move" > <%= dgettext("actions", "Move containers") %> diff --git a/lib/cannery_web/live/ammo_type_live/index.html.heex b/lib/cannery_web/live/ammo_type_live/index.html.heex index 955da69..4cc5c9b 100644 --- a/lib/cannery_web/live/ammo_type_live/index.html.heex +++ b/lib/cannery_web/live/ammo_type_live/index.html.heex @@ -24,7 +24,6 @@ phx-change="search" phx-submit="search" class="grow self-stretch flex flex-col items-stretch" - data-qa="ammo_type_search" > <%= text_input(f, :search_term, class: "input input-primary", @@ -60,7 +59,7 @@ <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="text-primary-600 link" - data-qa={"view-#{ammo_type.id}"} + aria-label={gettext("View %{ammo_type_name}", ammo_type_name: ammo_type.name)} > @@ -68,7 +67,7 @@ <.link patch={Routes.ammo_type_index_path(Endpoint, :edit, ammo_type)} class="text-primary-600 link" - data-qa={"edit-#{ammo_type.id}"} + aria-label={gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type.name)} > @@ -76,7 +75,7 @@ <.link patch={Routes.ammo_type_index_path(Endpoint, :clone, ammo_type)} class="text-primary-600 link" - data-qa={"clone-#{ammo_type.id}"} + aria-label={gettext("Clone %{ammo_type_name}", ammo_type_name: ammo_type.name)} > @@ -93,7 +92,7 @@ name: ammo_type.name ) } - data-qa={"delete-#{ammo_type.id}"} + aria-label={gettext("Delete %{ammo_type_name}", ammo_type_name: ammo_type.name)} > diff --git a/lib/cannery_web/live/ammo_type_live/show.html.heex b/lib/cannery_web/live/ammo_type_live/show.html.heex index 894bc19..4ef1b12 100644 --- a/lib/cannery_web/live/ammo_type_live/show.html.heex +++ b/lib/cannery_web/live/ammo_type_live/show.html.heex @@ -16,7 +16,7 @@ <.link patch={Routes.ammo_type_show_path(Endpoint, :edit, @ammo_type)} class="text-primary-600 link" - data-qa="edit" + aria-label={gettext("Edit %{ammo_type_name}", ammo_type_name: @ammo_type.name)} > @@ -32,7 +32,7 @@ name: @ammo_type.name ) } - data-qa="delete" + aria-label={gettext("Delete %{ammo_type_name}", ammo_type_name: @ammo_type.name)} > diff --git a/lib/cannery_web/live/container_live/index.html.heex b/lib/cannery_web/live/container_live/index.html.heex index 2de8259..0c26b9f 100644 --- a/lib/cannery_web/live/container_live/index.html.heex +++ b/lib/cannery_web/live/container_live/index.html.heex @@ -24,7 +24,6 @@ phx-change="search" phx-submit="search" class="grow self-stretch flex flex-col items-stretch" - data-qa="container_search" > <%= text_input(f, :search_term, class: "input input-primary", @@ -61,6 +60,7 @@ <.link patch={Routes.container_index_path(Endpoint, :edit_tags, container)} class="text-primary-600 link" + aria-label={gettext("Tag %{container_name}", container_name: container.name)} > @@ -70,7 +70,7 @@ <.link patch={Routes.container_index_path(Endpoint, :edit, container)} class="text-primary-600 link" - data-qa={"edit-#{container.id}"} + aria-label={gettext("Edit %{container_name}", container_name: container.name)} > @@ -78,7 +78,7 @@ <.link patch={Routes.container_index_path(Endpoint, :clone, container)} class="text-primary-600 link" - data-qa={"clone-#{container.id}"} + aria-label={gettext("Clone %{container_name}", container_name: container.name)} > @@ -91,7 +91,7 @@ data-confirm={ dgettext("prompts", "Are you sure you want to delete %{name}?", name: container.name) } - data-qa={"delete-#{container.id}"} + aria-label={gettext("Delete %{container_name}", container_name: container.name)} > @@ -105,6 +105,7 @@ <.link patch={Routes.container_index_path(Endpoint, :edit_tags, container)} class="text-primary-600 link" + aria-label={gettext("Tag %{container_name}", container_name: container.name)} > @@ -113,7 +114,7 @@ <.link patch={Routes.container_index_path(Endpoint, :edit, container)} class="text-primary-600 link" - data-qa={"edit-#{container.id}"} + aria-label={gettext("Edit %{container_name}", container_name: container.name)} > @@ -121,7 +122,7 @@ <.link patch={Routes.container_index_path(Endpoint, :clone, container)} class="text-primary-600 link" - data-qa={"clone-#{container.id}"} + aria-label={gettext("Clone %{container_name}", container_name: container.name)} > @@ -134,7 +135,7 @@ data-confirm={ dgettext("prompts", "Are you sure you want to delete %{name}?", name: container.name) } - data-qa={"delete-#{container.id}"} + aria-label={gettext("Delete %{container_name}", container_name: container.name)} > diff --git a/lib/cannery_web/live/container_live/show.html.heex b/lib/cannery_web/live/container_live/show.html.heex index a892e16..e4efe8e 100644 --- a/lib/cannery_web/live/container_live/show.html.heex +++ b/lib/cannery_web/live/container_live/show.html.heex @@ -42,7 +42,7 @@ <.link patch={Routes.container_show_path(Endpoint, :edit, @container)} class="text-primary-600 link" - data-qa="edit" + aria-label={gettext("Edit %{container_name}", container_name: @container.name)} > @@ -54,7 +54,7 @@ data-confirm={ dgettext("prompts", "Are you sure you want to delete %{name}?", name: @container.name) } - data-qa="delete" + aria-label={gettext("Delete %{container_name}", container_name: @container.name)} > diff --git a/lib/cannery_web/live/invite_live/index.html.heex b/lib/cannery_web/live/invite_live/index.html.heex index b488085..0ebe52b 100644 --- a/lib/cannery_web/live/invite_live/index.html.heex +++ b/lib/cannery_web/live/invite_live/index.html.heex @@ -26,6 +26,7 @@ type="submit" class="mx-2 my-1 btn btn-primary" phx-click={JS.dispatch("cannery:clipcopy", to: "#code-#{invite.id}")} + aria-label={gettext("Copy invite link for %{invite_name}", invite_name: invite.name)} > <%= dgettext("actions", "Copy to clipboard") %> @@ -34,7 +35,7 @@ <.link patch={Routes.invite_index_path(Endpoint, :edit, invite)} class="text-primary-600 link" - data-qa={"edit-#{invite.id}"} + aria-label={gettext("Edit invite for %{invite_name}", invite_name: invite.name)} > @@ -49,7 +50,7 @@ invite_name: invite.name ) } - data-qa={"delete-#{invite.id}"} + aria-label={gettext("Delete invite for %{invite_name}", invite_name: invite.name)} > diff --git a/lib/cannery_web/live/live_helpers.ex b/lib/cannery_web/live/live_helpers.ex index 0b4b34d..4422316 100644 --- a/lib/cannery_web/live/live_helpers.ex +++ b/lib/cannery_web/live/live_helpers.ex @@ -103,7 +103,7 @@ defmodule CanneryWeb.LiveHelpers do value={@value} checked={@value} class="sr-only peer" - data-qa={@id} + aria-labelledby={"#{@id}-label"} { if assigns |> Map.has_key?(:target), do: %{"phx-click": @action, "phx-value-value": @value, "phx-target": @target}, @@ -119,7 +119,7 @@ defmodule CanneryWeb.LiveHelpers do after:transition-all after:duration-250 after:ease-in-out transition-colors duration-250 ease-in-out"> - + <%= render_slot(@inner_block) %> diff --git a/lib/cannery_web/live/range_live/index.html.heex b/lib/cannery_web/live/range_live/index.html.heex index 46e7870..e1bcbc2 100644 --- a/lib/cannery_web/live/range_live/index.html.heex +++ b/lib/cannery_web/live/range_live/index.html.heex @@ -74,7 +74,6 @@ phx-change="search" phx-submit="search" class="grow self-stretch flex flex-col items-stretch" - data-qa="shot_group_search" > <%= text_input(f, :search_term, class: "input input-primary", @@ -102,7 +101,11 @@ <.link patch={Routes.range_index_path(Endpoint, :edit, shot_group)} class="text-primary-600 link" - data-qa={"edit-#{shot_group.id}"} + aria-label={ + gettext("Edit shot record of %{shot_group_count} shots", + shot_group_count: shot_group.count + ) + } > @@ -115,7 +118,11 @@ data-confirm={ dgettext("prompts", "Are you sure you want to delete this shot record?") } - data-qa={"delete-#{shot_group.id}"} + aria-label={ + gettext("Delete shot record of %{shot_group_count} shots", + shot_group_count: shot_group.count + ) + } > diff --git a/lib/cannery_web/live/tag_live/index.html.heex b/lib/cannery_web/live/tag_live/index.html.heex index d9fff26..e14e861 100644 --- a/lib/cannery_web/live/tag_live/index.html.heex +++ b/lib/cannery_web/live/tag_live/index.html.heex @@ -27,7 +27,6 @@ phx-change="search" phx-submit="search" class="grow self-stretch flex flex-col items-stretch" - data-qa="tag_search" > <%= text_input(f, :search_term, class: "input input-primary", @@ -49,7 +48,7 @@ <.link patch={Routes.tag_index_path(Endpoint, :edit, tag)} class="text-primary-600 link" - data-qa={"edit-#{tag.id}"} + aria-label={gettext("Edit %{tag_name}", tag_name: tag.name)} > @@ -62,7 +61,7 @@ data-confirm={ dgettext("prompts", "Are you sure you want to delete %{name}?", name: tag.name) } - data-qa={"delete-#{tag.id}"} + aria-label={gettext("Delete %{tag_name}", tag_name: tag.name)} > diff --git a/mix.exs b/mix.exs index 4e78166..7c4f170 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Cannery.MixProject do def project do [ app: :cannery, - version: "0.8.3", + version: "0.8.4", elixir: "1.14.1", elixirc_paths: elixirc_paths(Mix.env()), compilers: Mix.compilers(), diff --git a/priv/gettext/actions.pot b/priv/gettext/actions.pot index cdca96a..ae708a4 100644 --- a/priv/gettext/actions.pot +++ b/priv/gettext/actions.pot @@ -156,8 +156,8 @@ msgstr "" msgid "Why not get some ready to shoot?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -168,7 +168,7 @@ msgstr "" msgid "Add another container!" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "" @@ -178,7 +178,7 @@ msgstr "" msgid "Select" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "" @@ -203,7 +203,7 @@ msgstr "" msgid "Change language" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "" @@ -218,18 +218,18 @@ msgstr "" msgid "Move ammo" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/de/LC_MESSAGES/actions.po b/priv/gettext/de/LC_MESSAGES/actions.po index 5008c7b..8ea7a7c 100644 --- a/priv/gettext/de/LC_MESSAGES/actions.po +++ b/priv/gettext/de/LC_MESSAGES/actions.po @@ -169,8 +169,8 @@ msgstr "Munition markieren" msgid "Why not get some ready to shoot?" msgstr "Warum nicht einige für den Schießstand auswählen?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -181,7 +181,7 @@ msgstr "Schüsse dokumentieren" msgid "Add another container!" msgstr "Einen weiteren Behälter hinzufügen!" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "Behälter verschieben" @@ -191,7 +191,7 @@ msgstr "Behälter verschieben" msgid "Select" msgstr "Markieren" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" @@ -216,7 +216,7 @@ msgstr "Sprache wechseln" msgid "Change language" msgstr "Sprache wechseln" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "" @@ -231,18 +231,18 @@ msgstr "" msgid "Move ammo" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index f528ff1..8f1acc0 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -19,7 +19,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "Zugriff von jedem Internet-fähigen Gerät" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "Admins" @@ -267,7 +267,7 @@ msgid "New Tag" msgstr "Neuer Tag" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "Keine Munition" @@ -278,7 +278,7 @@ msgid "No ammo for this type" msgstr "Keine Munition dieser Art" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "Kein Behälter" @@ -290,7 +290,7 @@ msgstr "Keine Einladung" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "Keine Tags" @@ -372,7 +372,7 @@ msgstr "Einfach:" msgid "Steel" msgstr "Stahl" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "Gelagert in" @@ -420,7 +420,7 @@ msgstr "Art" msgid "Type:" msgstr "Art:" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "Benutzer" @@ -487,7 +487,7 @@ msgid "New Shot Records" msgstr "Neue Schießkladde" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "Keine Schüsse dokumentiert" @@ -512,7 +512,7 @@ msgid "Shot Records" msgstr "Schießkladde" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "Munition verschieben" @@ -592,12 +592,12 @@ msgstr "Derzeitiges Passwort" msgid "New password" msgstr "Neues Passwort" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "Markiert" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "Demarkiert" @@ -664,7 +664,7 @@ msgstr "Ursprüngliche Anzahl:" msgid "Percentage left:" msgstr "Prozent verbleibend:" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format msgid "Rounds used" msgstr "Patronen verbraucht" @@ -779,7 +779,7 @@ msgstr "Keine Munitionsgruppe in diesem Behälter" msgid "Show Ammo" msgstr "Zeige Munitionsarten" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format, fuzzy msgid "This ammo is not in a container" msgstr "Diese Munitionsgruppe ist nicht in einem Behälter" @@ -812,8 +812,8 @@ msgstr "" msgid "Container:" msgstr "Behälter" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -844,7 +844,7 @@ msgid "Rounds" msgstr "Patronen:" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -1002,7 +1002,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format, fuzzy msgid "Edit %{ammo_type_name}" msgstr "%{name} bearbeiten" @@ -1081,32 +1083,32 @@ msgid "Edit ammo" msgstr "Munitionstyp bearbeiten" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format, fuzzy msgid "No Ammo types" msgstr "Keine Munitionsarten" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format, fuzzy msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format, fuzzy msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1180,12 +1182,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "Willkommen %{name}" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1214,3 +1216,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format, fuzzy +msgid "Clone %{ammo_type_name}" +msgstr "%{name} bearbeiten" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format, fuzzy +msgid "Delete %{ammo_type_name}" +msgstr "%{name} bearbeiten" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{container_name}" +msgstr "%{name} bearbeiten" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{tag_name}" +msgstr "%{name} bearbeiten" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "View %{ammo_type_name}" +msgstr "%{name} bearbeiten" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po index 94e0175..ad3637b 100644 --- a/priv/gettext/de/LC_MESSAGES/errors.po +++ b/priv/gettext/de/LC_MESSAGES/errors.po @@ -152,17 +152,11 @@ msgstr "Tag nicht gefunden" msgid "Tag could not be added" msgstr "Tag konnte nicht hinzugefügt werden" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "Anzahl muss mindestens 1 sein" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "Anzahl muss weniger als %{count} betragen" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -207,3 +201,9 @@ msgstr "" #, elixir-autogen, elixir-format, fuzzy msgid "Please select a valid user and ammo pack" msgstr "" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format, fuzzy +msgid "Count must be less than %{count} shots" +msgstr "Anzahl muss weniger als %{count} betragen" diff --git a/priv/gettext/de/LC_MESSAGES/prompts.po b/priv/gettext/de/LC_MESSAGES/prompts.po index e785c90..510a1c3 100644 --- a/priv/gettext/de/LC_MESSAGES/prompts.po +++ b/priv/gettext/de/LC_MESSAGES/prompts.po @@ -57,8 +57,8 @@ msgstr "%{name} erfolgreich aktualisiert" msgid "A link to confirm your email change has been sent to the new address." msgstr "Eine Mail zum Bestätigen ihre Mailadresse wurde Ihnen zugesandt." -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "" @@ -66,15 +66,15 @@ msgstr "" "zurückgenommen werden!" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "Sind Sie sicher, dass sie diese Munition löschen möchten?" @@ -176,8 +176,8 @@ msgstr "Schüsse erfolgreich dokumentiert" msgid "Are you sure you want to unstage this ammo?" msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?" @@ -257,7 +257,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "Munitionsgruppe erfolgreich aktualisiert" msgstr[1] "Munitionsgruppe erfolgreich aktualisiert" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -293,12 +293,12 @@ msgstr "%{name} erfolgreich aktualisiert" msgid "%{user_email} deleted succesfully" msgstr "%{name} erfolgreich gelöscht" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "Sind Sie sicher, dass sie %{name} auf unbegrenzt setzen möchten?" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 2e7d5da..722c39d 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -15,7 +15,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "" @@ -263,7 +263,7 @@ msgid "New Tag" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "" @@ -274,7 +274,7 @@ msgid "No ammo for this type" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "" @@ -286,7 +286,7 @@ msgstr "" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "" @@ -366,7 +366,7 @@ msgstr "" msgid "Steel" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "" @@ -414,7 +414,7 @@ msgstr "" msgid "Type:" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "" @@ -481,7 +481,7 @@ msgid "New Shot Records" msgstr "" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "" @@ -506,7 +506,7 @@ msgid "Shot Records" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "" @@ -586,12 +586,12 @@ msgstr "" msgid "New password" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "" @@ -658,7 +658,7 @@ msgstr "" msgid "Percentage left:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format msgid "Rounds used" msgstr "" @@ -773,7 +773,7 @@ msgstr "" msgid "Show Ammo" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format msgid "This ammo is not in a container" msgstr "" @@ -806,8 +806,8 @@ msgstr "" msgid "Container:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -838,7 +838,7 @@ msgid "Rounds" msgstr "" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -996,7 +996,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format msgid "Edit %{ammo_type_name}" msgstr "" @@ -1075,32 +1077,32 @@ msgid "Edit ammo" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format msgid "No Ammo types" msgstr "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1163,12 +1165,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1197,3 +1199,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format +msgid "Clone %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format +msgid "Delete %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format +msgid "Edit %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format +msgid "Edit %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format +msgid "View %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/actions.po b/priv/gettext/en/LC_MESSAGES/actions.po index 8aa4362..a2aae00 100644 --- a/priv/gettext/en/LC_MESSAGES/actions.po +++ b/priv/gettext/en/LC_MESSAGES/actions.po @@ -156,8 +156,8 @@ msgstr "" msgid "Why not get some ready to shoot?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -168,7 +168,7 @@ msgstr "" msgid "Add another container!" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "" @@ -178,7 +178,7 @@ msgstr "" msgid "Select" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "" @@ -203,7 +203,7 @@ msgstr "" msgid "Change language" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "" @@ -218,18 +218,18 @@ msgstr "" msgid "Move ammo" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index c657e18..1980a6f 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -15,7 +15,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "" @@ -263,7 +263,7 @@ msgid "New Tag" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "" @@ -274,7 +274,7 @@ msgid "No ammo for this type" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "" @@ -286,7 +286,7 @@ msgstr "" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "" @@ -366,7 +366,7 @@ msgstr "" msgid "Steel" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "" @@ -414,7 +414,7 @@ msgstr "" msgid "Type:" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "" @@ -481,7 +481,7 @@ msgid "New Shot Records" msgstr "" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "" @@ -506,7 +506,7 @@ msgid "Shot Records" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "" @@ -586,12 +586,12 @@ msgstr "" msgid "New password" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "" @@ -658,7 +658,7 @@ msgstr "" msgid "Percentage left:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format, fuzzy msgid "Rounds used" msgstr "" @@ -773,7 +773,7 @@ msgstr "" msgid "Show Ammo" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format, fuzzy msgid "This ammo is not in a container" msgstr "" @@ -806,8 +806,8 @@ msgstr "" msgid "Container:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -838,7 +838,7 @@ msgid "Rounds" msgstr "" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -996,7 +996,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format, fuzzy msgid "Edit %{ammo_type_name}" msgstr "" @@ -1075,32 +1077,32 @@ msgid "Edit ammo" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format, fuzzy msgid "No Ammo types" msgstr "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format, fuzzy msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format, fuzzy msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1163,12 +1165,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1197,3 +1199,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format, fuzzy +msgid "Clone %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format, fuzzy +msgid "Delete %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "View %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po index 0c81b9a..93166b4 100644 --- a/priv/gettext/en/LC_MESSAGES/errors.po +++ b/priv/gettext/en/LC_MESSAGES/errors.po @@ -139,17 +139,11 @@ msgstr "" msgid "Tag could not be added" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -190,3 +184,9 @@ msgstr "" #, elixir-autogen, elixir-format, fuzzy msgid "Please select a valid user and ammo pack" msgstr "" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format, fuzzy +msgid "Count must be less than %{count} shots" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/prompts.po b/priv/gettext/en/LC_MESSAGES/prompts.po index cd96e27..4a8e323 100644 --- a/priv/gettext/en/LC_MESSAGES/prompts.po +++ b/priv/gettext/en/LC_MESSAGES/prompts.po @@ -44,22 +44,22 @@ msgstr "" msgid "A link to confirm your email change has been sent to the new address." msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "" @@ -155,8 +155,8 @@ msgstr "" msgid "Are you sure you want to unstage this ammo?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "" @@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "" msgstr[1] "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -272,12 +272,12 @@ msgstr "" msgid "%{user_email} deleted succesfully" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "" diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot index c8ba4b7..1314d3d 100644 --- a/priv/gettext/errors.pot +++ b/priv/gettext/errors.pot @@ -138,17 +138,11 @@ msgstr "" msgid "Tag could not be added" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -189,3 +183,9 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Please select a valid user and ammo pack" msgstr "" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format +msgid "Count must be less than %{count} shots" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/actions.po b/priv/gettext/es/LC_MESSAGES/actions.po index c741b72..0cff4de 100644 --- a/priv/gettext/es/LC_MESSAGES/actions.po +++ b/priv/gettext/es/LC_MESSAGES/actions.po @@ -169,8 +169,8 @@ msgstr "Preparar munición" msgid "Why not get some ready to shoot?" msgstr "¿Por qué no preparar parte para disparar?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -181,7 +181,7 @@ msgstr "Tiros récord" msgid "Add another container!" msgstr "¡Añade otro contenedor!" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "Mover contenedores" @@ -191,7 +191,7 @@ msgstr "Mover contenedores" msgid "Select" msgstr "Seleccionar" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "Copiar al portapapeles" @@ -216,7 +216,7 @@ msgstr "Cambiar Lenguaje" msgid "Change language" msgstr "Cambiar lenguaje" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "Ver en Catalogo" @@ -231,18 +231,18 @@ msgstr "añade primero un tipo de munición" msgid "Move ammo" msgstr "Mover munición" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "Activar ilimitados" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "Preparar para el campo de tiro" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index b88ec25..5fb6593 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -19,7 +19,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "Acceso desde cualquier dispositivo con conexión a internet" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "Administradores" @@ -267,7 +267,7 @@ msgid "New Tag" msgstr "Nueva Etiqueta" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "Sin Munición" @@ -278,7 +278,7 @@ msgid "No ammo for this type" msgstr "Sin munición para este tipo" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "Sin contenedores" @@ -290,7 +290,7 @@ msgstr "Sin invitaciones" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "Sin etiquetas" @@ -372,7 +372,7 @@ msgstr "Simple:" msgid "Steel" msgstr "Acero" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "Guardado en" @@ -421,7 +421,7 @@ msgstr "Tipo" msgid "Type:" msgstr "Tipo:" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "Usuarios" @@ -488,7 +488,7 @@ msgid "New Shot Records" msgstr "Nuevos Tiros Récord" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "No se han grabado tiros" @@ -513,7 +513,7 @@ msgid "Shot Records" msgstr "Récords de Tiro" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "Mover munición" @@ -593,12 +593,12 @@ msgstr "Contraseña actual" msgid "New password" msgstr "Nueva contraseña" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "Preparar" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "Retirar" @@ -665,7 +665,7 @@ msgstr "Cantidad original:" msgid "Percentage left:" msgstr "Pocentaje restante:" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format msgid "Rounds used" msgstr "Balas usadas" @@ -780,7 +780,7 @@ msgstr "No hay munición en este contenedor" msgid "Show Ammo" msgstr "Mostrar Munición" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format msgid "This ammo is not in a container" msgstr "Esta munición no está en un contenedor" @@ -814,8 +814,8 @@ msgstr "" msgid "Container:" msgstr "Contenedor:" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -846,7 +846,7 @@ msgid "Rounds" msgstr "Balas" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -1004,7 +1004,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format msgid "Edit %{ammo_type_name}" msgstr "Editar %{ammo_type_name}" @@ -1083,32 +1085,32 @@ msgid "Edit ammo" msgstr "Editar munición" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format, fuzzy msgid "No Ammo types" msgstr "Sin tipo de Munición" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format, fuzzy msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format, fuzzy msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1182,12 +1184,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "Bienvenide a %{name}" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1216,3 +1218,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format, fuzzy +msgid "Clone %{ammo_type_name}" +msgstr "Editar %{ammo_type_name}" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format, fuzzy +msgid "Delete %{ammo_type_name}" +msgstr "Editar %{ammo_type_name}" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{container_name}" +msgstr "Editar %{name}" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{tag_name}" +msgstr "Editar %{name}" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "View %{ammo_type_name}" +msgstr "Editar %{ammo_type_name}" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po index b9f261b..0ba8f9d 100644 --- a/priv/gettext/es/LC_MESSAGES/errors.po +++ b/priv/gettext/es/LC_MESSAGES/errors.po @@ -154,17 +154,11 @@ msgstr "Etiqueta no encontrada" msgid "Tag could not be added" msgstr "No se ha podido añadir la etiqueta" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "El recuento debe dar al menos 1" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "El recuento debe ser menos de %{count}" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -205,3 +199,9 @@ msgstr "Su navegador no es compatible con el elemento lienzo." #, elixir-autogen, elixir-format msgid "Please select a valid user and ammo pack" msgstr "Por favor escoja un usuario y tipo de munición valido" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format, fuzzy +msgid "Count must be less than %{count} shots" +msgstr "El recuento debe ser menos de %{count}" diff --git a/priv/gettext/es/LC_MESSAGES/prompts.po b/priv/gettext/es/LC_MESSAGES/prompts.po index aad9447..96a09d0 100644 --- a/priv/gettext/es/LC_MESSAGES/prompts.po +++ b/priv/gettext/es/LC_MESSAGES/prompts.po @@ -59,22 +59,22 @@ msgstr "" "Un enlace para confirmar el correo electrónico ha sido enviado a la nueva " "dirección." -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "Está seguro que desea eliminar %{name}?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "Está seguro que desea eliminar esta munición?" @@ -175,8 +175,8 @@ msgstr "Tiros registrados exitosamente" msgid "Are you sure you want to unstage this ammo?" msgstr "Está seguro que desea desmontar esta munición?" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "¿Está segure que quiere borrar este récord de disparos?" @@ -256,7 +256,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "Munición añadida exitosamente" msgstr[1] "Municiones añadidas exitosamente" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -294,12 +294,12 @@ msgstr "%{name} actualizado exitosamente" msgid "%{user_email} deleted succesfully" msgstr "%{name} borrado exitosamente" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "Está seguro que quiere eliminar la invitación para %{name}?" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "Está seguro que desea hacer %{name} ilimitado?" diff --git a/priv/gettext/fr/LC_MESSAGES/actions.po b/priv/gettext/fr/LC_MESSAGES/actions.po index cad76a4..f3d2c71 100644 --- a/priv/gettext/fr/LC_MESSAGES/actions.po +++ b/priv/gettext/fr/LC_MESSAGES/actions.po @@ -169,8 +169,8 @@ msgstr "Munition préparée" msgid "Why not get some ready to shoot?" msgstr "Pourquoi pas en préparer pour tirer ?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -181,7 +181,7 @@ msgstr "Enregistrer des tirs" msgid "Add another container!" msgstr "Ajoutez un autre conteneur !" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "Déplacer les conteneurs" @@ -191,7 +191,7 @@ msgstr "Déplacer les conteneurs" msgid "Select" msgstr "Sélectionner" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" @@ -216,7 +216,7 @@ msgstr "Changer la langue" msgid "Change language" msgstr "Changer la langue" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "Voir en catalogue" @@ -231,18 +231,18 @@ msgstr "Ajoutez d'abord un type de munitions" msgid "Move ammo" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 0a8aa94..1eb696b 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -19,7 +19,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "Accédez depuis n’importe quel appareil connecté à internet" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "Administrateur·ices" @@ -267,7 +267,7 @@ msgid "New Tag" msgstr "Nouveau tag" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "Aucune munition" @@ -278,7 +278,7 @@ msgid "No ammo for this type" msgstr "Aucune munition pour ce type" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "Aucun conteneur" @@ -290,7 +290,7 @@ msgstr "Aucune invitation" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "Aucun tag" @@ -372,7 +372,7 @@ msgstr "Simple :" msgid "Steel" msgstr "Acier" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "Est stocké dans" @@ -422,7 +422,7 @@ msgstr "Type" msgid "Type:" msgstr "Type :" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "Utilisateurs" @@ -489,7 +489,7 @@ msgid "New Shot Records" msgstr "Nouveaux enregistrements de tir" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "Aucun tir enregistré" @@ -514,7 +514,7 @@ msgid "Shot Records" msgstr "Enregistrements de tir" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "Déplacer munition" @@ -594,12 +594,12 @@ msgstr "Mot de passe actuel" msgid "New password" msgstr "Nouveau mot de passe" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "Sélectionné" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "Désélectionner" @@ -666,7 +666,7 @@ msgstr "Nombre original :" msgid "Percentage left:" msgstr "Pourcentage restant :" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format msgid "Rounds used" msgstr "Cartouches utilisées" @@ -781,7 +781,7 @@ msgstr "Aucun groupe de munition pour ce conteneur" msgid "Show Ammo" msgstr "Montrer le type de munition" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format, fuzzy msgid "This ammo is not in a container" msgstr "Ce groupe de munition n’est pas dans un conteneur" @@ -815,8 +815,8 @@ msgstr "" msgid "Container:" msgstr "Conteneur" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -847,7 +847,7 @@ msgid "Rounds" msgstr "Cartouches :" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -1005,7 +1005,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format, fuzzy msgid "Edit %{ammo_type_name}" msgstr "Éditer %{name}" @@ -1084,32 +1086,32 @@ msgid "Edit ammo" msgstr "Éditer le type de munition" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format, fuzzy msgid "No Ammo types" msgstr "Aucun type de munition" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format, fuzzy msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format, fuzzy msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1183,12 +1185,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "Bienvenue à %{name}" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1217,3 +1219,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format, fuzzy +msgid "Clone %{ammo_type_name}" +msgstr "Éditer %{name}" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format, fuzzy +msgid "Delete %{ammo_type_name}" +msgstr "Éditer %{name}" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{container_name}" +msgstr "Éditer %{name}" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{tag_name}" +msgstr "Éditer %{name}" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "View %{ammo_type_name}" +msgstr "Éditer %{name}" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po index b556329..c58a2cb 100644 --- a/priv/gettext/fr/LC_MESSAGES/errors.po +++ b/priv/gettext/fr/LC_MESSAGES/errors.po @@ -153,17 +153,11 @@ msgstr "Tag pas trouvé" msgid "Tag could not be added" msgstr "Le tag n’a pas pu être ajouté" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "Le nombre doit être au moins égal à 1" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "La quantité doit être inférieur à %{count}" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -206,3 +200,9 @@ msgstr "" #, elixir-autogen, elixir-format, fuzzy msgid "Please select a valid user and ammo pack" msgstr "Veuillez choisir un utilisateur valide et un groupe de munitions" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format, fuzzy +msgid "Count must be less than %{count} shots" +msgstr "La quantité doit être inférieur à %{count}" diff --git a/priv/gettext/fr/LC_MESSAGES/prompts.po b/priv/gettext/fr/LC_MESSAGES/prompts.po index 8a87ee1..a2f531f 100644 --- a/priv/gettext/fr/LC_MESSAGES/prompts.po +++ b/priv/gettext/fr/LC_MESSAGES/prompts.po @@ -59,23 +59,23 @@ msgstr "" "Un lien pour confirmer votre changement de mél a été envoyé à la nouvelle " "adresse." -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "" "Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "Êtes-vous certain·e de supprimer %{name} ?" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "Êtes-vous certain·e de supprimer cette munition ?" @@ -177,8 +177,8 @@ msgstr "Tirs enregistré avec succès" msgid "Are you sure you want to unstage this ammo?" msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition ?" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir ?" @@ -258,7 +258,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "Groupe de munition mis à jour avec succès" msgstr[1] "Groupe de munition mis à jour avec succès" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -294,12 +294,12 @@ msgstr "%{name} mis à jour avec succès" msgid "%{user_email} deleted succesfully" msgstr "%{name} supprimé· avec succès" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "Êtes-vous certain·e de vouloir rendre %{name} illimité ?" diff --git a/priv/gettext/ga/LC_MESSAGES/actions.po b/priv/gettext/ga/LC_MESSAGES/actions.po index 81f9513..c8c0ff6 100644 --- a/priv/gettext/ga/LC_MESSAGES/actions.po +++ b/priv/gettext/ga/LC_MESSAGES/actions.po @@ -167,8 +167,8 @@ msgstr "" msgid "Why not get some ready to shoot?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:101 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:100 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:107 #: lib/cannery_web/live/range_live/index.html.heex:38 #, elixir-autogen, elixir-format msgid "Record shots" @@ -179,7 +179,7 @@ msgstr "" msgid "Add another container!" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:100 #, elixir-autogen, elixir-format msgid "Move containers" msgstr "" @@ -189,7 +189,7 @@ msgstr "" msgid "Select" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:30 +#: lib/cannery_web/live/invite_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Copy to clipboard" msgstr "" @@ -214,7 +214,7 @@ msgstr "" msgid "Change language" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:60 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:59 #, elixir-autogen, elixir-format msgid "View in Catalog" msgstr "" @@ -229,18 +229,18 @@ msgstr "" msgid "Move ammo" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:78 +#: lib/cannery_web/live/invite_live/index.html.heex:79 #, elixir-autogen, elixir-format msgid "Set Unlimited" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:93 #: lib/cannery_web/live/range_live/index.html.heex:31 #, elixir-autogen, elixir-format msgid "Stage for range" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:85 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:92 #: lib/cannery_web/live/range_live/index.html.heex:30 #, elixir-autogen, elixir-format msgid "Unstage from range" diff --git a/priv/gettext/ga/LC_MESSAGES/default.po b/priv/gettext/ga/LC_MESSAGES/default.po index 2584b2b..5cc8414 100644 --- a/priv/gettext/ga/LC_MESSAGES/default.po +++ b/priv/gettext/ga/LC_MESSAGES/default.po @@ -17,7 +17,7 @@ msgstr "" msgid "Access from any internet-capable device" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:87 +#: lib/cannery_web/live/invite_live/index.html.heex:88 #, elixir-autogen, elixir-format msgid "Admins" msgstr "" @@ -265,7 +265,7 @@ msgid "New Tag" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.html.heex:10 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:71 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "No Ammo" msgstr "" @@ -276,7 +276,7 @@ msgid "No ammo for this type" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:8 -#: lib/cannery_web/live/container_live/index.html.heex:47 +#: lib/cannery_web/live/container_live/index.html.heex:46 #, elixir-autogen, elixir-format msgid "No containers" msgstr "" @@ -288,7 +288,7 @@ msgstr "" #: lib/cannery_web/live/container_live/edit_tags_component.html.heex:29 #: lib/cannery_web/live/tag_live/index.html.heex:10 -#: lib/cannery_web/live/tag_live/index.html.heex:43 +#: lib/cannery_web/live/tag_live/index.html.heex:42 #, elixir-autogen, elixir-format msgid "No tags" msgstr "" @@ -368,7 +368,7 @@ msgstr "" msgid "Steel" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:111 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:117 #, elixir-autogen, elixir-format msgid "Stored in" msgstr "" @@ -416,7 +416,7 @@ msgstr "" msgid "Type:" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:115 +#: lib/cannery_web/live/invite_live/index.html.heex:116 #, elixir-autogen, elixir-format msgid "Users" msgstr "" @@ -483,7 +483,7 @@ msgid "New Shot Records" msgstr "" #: lib/cannery_web/live/range_live/index.html.heex:48 -#: lib/cannery_web/live/range_live/index.html.heex:90 +#: lib/cannery_web/live/range_live/index.html.heex:89 #, elixir-autogen, elixir-format msgid "No shots recorded" msgstr "" @@ -508,7 +508,7 @@ msgid "Shot Records" msgstr "" #: lib/cannery_web/live/ammo_group_live/index.ex:38 -#: lib/cannery_web/live/ammo_group_live/index.html.heex:118 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:117 #, elixir-autogen, elixir-format msgid "Move ammo" msgstr "" @@ -588,12 +588,12 @@ msgstr "" msgid "New password" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Stage" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:94 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:93 #, elixir-autogen, elixir-format msgid "Unstage" msgstr "" @@ -660,7 +660,7 @@ msgstr "" msgid "Percentage left:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:124 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:130 #, elixir-autogen, elixir-format msgid "Rounds used" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Show Ammo" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:122 #, elixir-autogen, elixir-format msgid "This ammo is not in a container" msgstr "" @@ -808,8 +808,8 @@ msgstr "" msgid "Container:" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:64 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:39 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:63 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:38 #: lib/cannery_web/live/ammo_type_live/show.html.heex:153 #: lib/cannery_web/live/container_live/show.html.heex:99 #, elixir-autogen, elixir-format @@ -840,7 +840,7 @@ msgid "Rounds" msgstr "" #: lib/cannery_web/live/ammo_type_live/show.html.heex:159 -#: lib/cannery_web/live/container_live/index.html.heex:39 +#: lib/cannery_web/live/container_live/index.html.heex:38 #: lib/cannery_web/live/container_live/show.html.heex:105 #, elixir-autogen, elixir-format msgid "View as table" @@ -998,7 +998,9 @@ msgid "Average CPR" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.ex:28 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:70 #: lib/cannery_web/live/ammo_type_live/show.ex:120 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:19 #, elixir-autogen, elixir-format, fuzzy msgid "Edit %{ammo_type_name}" msgstr "" @@ -1077,32 +1079,32 @@ msgid "Edit ammo" msgstr "" #: lib/cannery_web/live/ammo_type_live/index.html.heex:8 -#: lib/cannery_web/live/ammo_type_live/index.html.heex:46 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:45 #, elixir-autogen, elixir-format, fuzzy msgid "No Ammo types" msgstr "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:33 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search catalog" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:58 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:57 #, elixir-autogen, elixir-format, fuzzy msgid "Search ammo" msgstr "" -#: lib/cannery_web/live/container_live/index.html.heex:33 +#: lib/cannery_web/live/container_live/index.html.heex:32 #, elixir-autogen, elixir-format msgid "Search containers" msgstr "" -#: lib/cannery_web/live/tag_live/index.html.heex:36 +#: lib/cannery_web/live/tag_live/index.html.heex:35 #, elixir-autogen, elixir-format, fuzzy msgid "Search tags" msgstr "" -#: lib/cannery_web/live/range_live/index.html.heex:83 +#: lib/cannery_web/live/range_live/index.html.heex:82 #, elixir-autogen, elixir-format msgid "Search shot records" msgstr "" @@ -1174,12 +1176,12 @@ msgstr "" msgid "Welcome to Cannery" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Disable" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:63 +#: lib/cannery_web/live/invite_live/index.html.heex:64 #, elixir-autogen, elixir-format msgid "Enable" msgstr "" @@ -1208,3 +1210,108 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Password" msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:78 +#, elixir-autogen, elixir-format, fuzzy +msgid "Clone %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:81 +#: lib/cannery_web/live/container_live/index.html.heex:125 +#, elixir-autogen, elixir-format +msgid "Clone %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:151 +#, elixir-autogen, elixir-format +msgid "Clone ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:29 +#, elixir-autogen, elixir-format +msgid "Copy invite link for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:95 +#: lib/cannery_web/live/ammo_type_live/show.html.heex:35 +#, elixir-autogen, elixir-format, fuzzy +msgid "Delete %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:94 +#: lib/cannery_web/live/container_live/index.html.heex:138 +#: lib/cannery_web/live/container_live/show.html.heex:57 +#, elixir-autogen, elixir-format +msgid "Delete %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:64 +#, elixir-autogen, elixir-format +msgid "Delete %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:166 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:80 +#, elixir-autogen, elixir-format +msgid "Delete ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:53 +#, elixir-autogen, elixir-format +msgid "Delete invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:146 +#: lib/cannery_web/live/range_live/index.html.heex:122 +#, elixir-autogen, elixir-format +msgid "Delete shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:73 +#: lib/cannery_web/live/container_live/index.html.heex:117 +#: lib/cannery_web/live/container_live/show.html.heex:45 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{container_name}" +msgstr "" + +#: lib/cannery_web/live/tag_live/index.html.heex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Edit %{tag_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:139 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:66 +#, elixir-autogen, elixir-format +msgid "Edit ammo group of %{ammo_group_count} bullets" +msgstr "" + +#: lib/cannery_web/live/invite_live/index.html.heex:38 +#, elixir-autogen, elixir-format +msgid "Edit invite for %{invite_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/show.ex:133 +#, elixir-autogen, elixir-format +msgid "Edit shot group of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/range_live/index.html.heex:105 +#, elixir-autogen, elixir-format +msgid "Edit shot record of %{shot_group_count} shots" +msgstr "" + +#: lib/cannery_web/live/container_live/index.html.heex:63 +#: lib/cannery_web/live/container_live/index.html.heex:108 +#, elixir-autogen, elixir-format +msgid "Tag %{container_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_type_live/index.html.heex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "View %{ammo_type_name}" +msgstr "" + +#: lib/cannery_web/live/ammo_group_live/index.html.heex:127 +#, elixir-autogen, elixir-format +msgid "View ammo group of %{ammo_group_count} bullets" +msgstr "" diff --git a/priv/gettext/ga/LC_MESSAGES/errors.po b/priv/gettext/ga/LC_MESSAGES/errors.po index 1d9f660..0088517 100644 --- a/priv/gettext/ga/LC_MESSAGES/errors.po +++ b/priv/gettext/ga/LC_MESSAGES/errors.po @@ -154,17 +154,11 @@ msgstr "" msgid "Tag could not be added" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:122 +#: lib/cannery/activity_log/shot_group.ex:126 #, elixir-autogen, elixir-format msgid "Count must be at least 1" msgstr "" -#: lib/cannery/activity_log/shot_group.ex:82 -#: lib/cannery/activity_log/shot_group.ex:118 -#, elixir-autogen, elixir-format -msgid "Count must be less than %{count}" -msgstr "" - #: lib/cannery_web/controllers/user_auth.ex:39 #: lib/cannery_web/controllers/user_auth.ex:161 #, elixir-autogen, elixir-format @@ -205,3 +199,9 @@ msgstr "" #, elixir-autogen, elixir-format, fuzzy msgid "Please select a valid user and ammo pack" msgstr "" + +#: lib/cannery/activity_log/shot_group.ex:83 +#: lib/cannery/activity_log/shot_group.ex:121 +#, elixir-autogen, elixir-format, fuzzy +msgid "Count must be less than %{count} shots" +msgstr "" diff --git a/priv/gettext/ga/LC_MESSAGES/prompts.po b/priv/gettext/ga/LC_MESSAGES/prompts.po index 346062d..4a74024 100644 --- a/priv/gettext/ga/LC_MESSAGES/prompts.po +++ b/priv/gettext/ga/LC_MESSAGES/prompts.po @@ -55,22 +55,22 @@ msgstr "" msgid "A link to confirm your email change has been sent to the new address." msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "" @@ -166,8 +166,8 @@ msgstr "" msgid "Are you sure you want to unstage this ammo?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "" @@ -247,7 +247,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "" msgstr[1] "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -283,12 +283,12 @@ msgstr "" msgid "%{user_email} deleted succesfully" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format, fuzzy msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "" diff --git a/priv/gettext/prompts.pot b/priv/gettext/prompts.pot index d4b5b2b..a7c3c22 100644 --- a/priv/gettext/prompts.pot +++ b/priv/gettext/prompts.pot @@ -44,22 +44,22 @@ msgstr "" msgid "A link to confirm your email change has been sent to the new address." msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:98 -#: lib/cannery_web/live/invite_live/index.html.heex:126 +#: lib/cannery_web/live/invite_live/index.html.heex:99 +#: lib/cannery_web/live/invite_live/index.html.heex:127 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{email}? This action is permanent!" msgstr "" #: lib/cannery_web/live/container_live/index.html.heex:92 -#: lib/cannery_web/live/container_live/index.html.heex:135 +#: lib/cannery_web/live/container_live/index.html.heex:136 #: lib/cannery_web/live/container_live/show.html.heex:55 -#: lib/cannery_web/live/tag_live/index.html.heex:63 +#: lib/cannery_web/live/tag_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/index.html.heex:153 -#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 +#: lib/cannery_web/live/ammo_group_live/index.html.heex:164 +#: lib/cannery_web/live/ammo_group_live/show.html.heex:78 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this ammo?" msgstr "" @@ -155,8 +155,8 @@ msgstr "" msgid "Are you sure you want to unstage this ammo?" msgstr "" -#: lib/cannery_web/live/ammo_group_live/show.ex:142 -#: lib/cannery_web/live/range_live/index.html.heex:116 +#: lib/cannery_web/live/ammo_group_live/show.ex:144 +#: lib/cannery_web/live/range_live/index.html.heex:119 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete this shot record?" msgstr "" @@ -236,7 +236,7 @@ msgid_plural "Ammo added successfully" msgstr[0] "" msgstr[1] "" -#: lib/cannery_web/live/ammo_type_live/index.html.heex:90 +#: lib/cannery_web/live/ammo_type_live/index.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:29 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" @@ -272,12 +272,12 @@ msgstr "" msgid "%{user_email} deleted succesfully" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:48 +#: lib/cannery_web/live/invite_live/index.html.heex:49 #, elixir-autogen, elixir-format msgid "Are you sure you want to delete the invite for %{invite_name}?" msgstr "" -#: lib/cannery_web/live/invite_live/index.html.heex:73 +#: lib/cannery_web/live/invite_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Are you sure you want to make %{invite_name} unlimited?" msgstr "" diff --git a/test/cannery_web/live/ammo_group_live_test.exs b/test/cannery_web/live/ammo_group_live_test.exs index f8bb4cf..b035c91 100644 --- a/test/cannery_web/live/ammo_group_live_test.exs +++ b/test/cannery_web/live/ammo_group_live_test.exs @@ -74,7 +74,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do assert html =~ ammo_group.ammo_type.name assert index_live - |> form("[data-qa=\"ammo_group_search\"]", + |> form(~s/form[phx-change="search"]/, search: %{search_term: ammo_group.ammo_type.name} ) |> render_change() =~ ammo_group.ammo_type.name @@ -85,13 +85,13 @@ defmodule CanneryWeb.AmmoGroupLiveTest do ) refute index_live - |> form("[data-qa=\"ammo_group_search\"]", search: %{search_term: "something_else"}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"}) |> render_change() =~ ammo_group.ammo_type.name assert_patch(index_live, Routes.ammo_group_index_path(conn, :search, "something_else")) assert index_live - |> form("[data-qa=\"ammo_group_search\"]", search: %{search_term: ""}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: ""}) |> render_change() =~ ammo_group.ammo_type.name assert_patch(index_live, Routes.ammo_group_index_path(conn, :index)) @@ -185,7 +185,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do {:ok, index_live, _html} = live(conn, Routes.ammo_group_index_path(conn, :index)) assert index_live - |> element("[data-qa=\"edit-#{ammo_group.id}\"]") + |> element(~s/a[aria-label="Edit ammo group of #{ammo_group.count} bullets"]/) |> render_click() =~ gettext("Edit ammo") @@ -210,7 +210,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do html = index_live - |> element("[data-qa=\"clone-#{ammo_group.id}\"]") + |> element(~s/a[aria-label="Clone ammo group of #{ammo_group.count} bullets"]/) |> render_click() assert html =~ dgettext("actions", "Add Ammo") @@ -238,7 +238,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do html = index_live - |> element("[data-qa=\"clone-#{ammo_group.id}\"]") + |> element(~s/a[aria-label="Clone ammo group of #{ammo_group.count} bullets"]/) |> render_click() assert html =~ dgettext("actions", "Add Ammo") @@ -265,7 +265,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do {:ok, index_live, _html} = live(conn, Routes.ammo_group_index_path(conn, :index)) assert index_live - |> element("[data-qa=\"delete-#{ammo_group.id}\"]") + |> element(~s/a[aria-label="Delete ammo group of #{ammo_group.count} bullets"]/) |> render_click() refute has_element?(index_live, "#ammo_group-#{ammo_group.id}") @@ -309,7 +309,10 @@ defmodule CanneryWeb.AmmoGroupLiveTest do ) <> "\n" - html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ gettext("$%{amount}", amount: 50.00 |> :erlang.float_to_binary(decimals: 2)) @@ -337,7 +340,7 @@ defmodule CanneryWeb.AmmoGroupLiveTest do {:ok, show_live, _html} = live(conn, Routes.ammo_group_show_path(conn, :show, ammo_group)) assert show_live - |> element("[data-qa=\"edit\"]") + |> element(~s/a[aria-label="Edit ammo group of #{ammo_group.count} bullets"]/) |> render_click() =~ gettext("Edit Ammo") @@ -386,7 +389,9 @@ defmodule CanneryWeb.AmmoGroupLiveTest do %{conn: conn, ammo_group: ammo_group, shot_group: shot_group} do {:ok, index_live, _html} = live(conn, Routes.ammo_group_show_path(conn, :edit, ammo_group)) - assert index_live |> element("[data-qa=\"edit-#{shot_group.id}\"]") |> render_click() =~ + assert index_live + |> element(~s/a[aria-label="Edit shot group of #{shot_group.count} shots"]/) + |> render_click() =~ gettext("Edit Shot Records") assert_patch( @@ -413,7 +418,10 @@ defmodule CanneryWeb.AmmoGroupLiveTest do {:ok, index_live, _html} = live(conn, Routes.ammo_group_show_path(conn, :edit_shot_group, ammo_group, shot_group)) - assert index_live |> element("[data-qa=\"delete-#{shot_group.id}\"]") |> render_click() + assert index_live + |> element(~s/a[aria-label="Delete shot record of #{shot_group.count} shots"]/) + |> render_click() + refute has_element?(index_live, "#shot_group-#{shot_group.id}") end end diff --git a/test/cannery_web/live/ammo_type_live_test.exs b/test/cannery_web/live/ammo_type_live_test.exs index 28634cc..9bdca5f 100644 --- a/test/cannery_web/live/ammo_type_live_test.exs +++ b/test/cannery_web/live/ammo_type_live_test.exs @@ -80,7 +80,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do assert html =~ ammo_type.bullet_type assert index_live - |> form("[data-qa=\"ammo_type_search\"]", + |> form(~s/form[phx-change="search"]/, search: %{search_term: ammo_type.bullet_type} ) |> render_change() =~ ammo_type.bullet_type @@ -88,13 +88,13 @@ defmodule CanneryWeb.AmmoTypeLiveTest do assert_patch(index_live, Routes.ammo_type_index_path(conn, :search, ammo_type.bullet_type)) refute index_live - |> form("[data-qa=\"ammo_type_search\"]", search: %{search_term: "something_else"}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"}) |> render_change() =~ ammo_type.bullet_type assert_patch(index_live, Routes.ammo_type_index_path(conn, :search, "something_else")) assert index_live - |> form("[data-qa=\"ammo_type_search\"]", search: %{search_term: ""}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: ""}) |> render_change() =~ ammo_type.bullet_type assert_patch(index_live, Routes.ammo_type_index_path(conn, :index)) @@ -127,7 +127,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, current_user: current_user, ammo_type: ammo_type} do {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"edit-#{ammo_type.id}\"]") |> render_click() =~ + assert index_live |> element(~s/a[aria-label="Edit #{ammo_type.name}"]/) |> render_click() =~ gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type.name) assert_patch(index_live, Routes.ammo_type_index_path(conn, :edit, ammo_type)) @@ -151,7 +151,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, current_user: current_user, ammo_type: ammo_type} do {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) - html = index_live |> element("[data-qa=\"clone-#{ammo_type.id}\"]") |> render_click() + html = index_live |> element(~s/a[aria-label="Clone #{ammo_type.name}"]/) |> render_click() assert html =~ gettext("New Ammo type") assert html =~ "some bullet_type" @@ -176,7 +176,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, current_user: current_user, ammo_type: ammo_type} do {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) - html = index_live |> element("[data-qa=\"clone-#{ammo_type.id}\"]") |> render_click() + html = index_live |> element(~s/a[aria-label="Clone #{ammo_type.name}"]/) |> render_click() assert html =~ gettext("New Ammo type") assert html =~ "some bullet_type" @@ -202,7 +202,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do test "deletes ammo_type in listing", %{conn: conn, ammo_type: ammo_type} do {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"delete-#{ammo_type.id}\"]") |> render_click() + assert index_live |> element(~s/a[aria-label="Delete #{ammo_type.name}"]/) |> render_click() refute has_element?(index_live, "#ammo_type-#{ammo_type.id}") end end @@ -220,7 +220,10 @@ defmodule CanneryWeb.AmmoTypeLiveTest do refute html =~ gettext("Used packs") refute html =~ gettext("Total ever packs") - html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + index_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ gettext("Used rounds") assert html =~ gettext("Total ever rounds") @@ -234,7 +237,11 @@ defmodule CanneryWeb.AmmoTypeLiveTest do shot_group_fixture(%{"count" => 5}, current_user, ammo_group) {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) - html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + + html = + index_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ "15" assert html =~ "5" @@ -258,7 +265,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, current_user: current_user, ammo_type: %{name: name} = ammo_type} do {:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) - assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~ + assert show_live |> element(~s/a[aria-label="Edit #{ammo_type.name}"]/) |> render_click() =~ gettext("Edit %{ammo_type_name}", ammo_type_name: name) assert_patch(show_live, Routes.ammo_type_show_path(conn, :edit, ammo_type)) @@ -298,7 +305,11 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do {:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) - html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) + |> render_click() + assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type)) assert html =~ "some ammo group" @@ -316,7 +327,10 @@ defmodule CanneryWeb.AmmoTypeLiveTest do assert html =~ dgettext("actions", "Show used") refute html =~ "some ammo group" - html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ "some ammo group" assert html =~ "Empty" @@ -327,13 +341,20 @@ defmodule CanneryWeb.AmmoTypeLiveTest do %{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do {:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) - html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) + |> render_click() + assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type)) assert html =~ dgettext("actions", "Show used") refute html =~ "some ammo group" - html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ "some ammo group" assert html =~ "Empty" diff --git a/test/cannery_web/live/container_live_test.exs b/test/cannery_web/live/container_live_test.exs index 536ec40..20c7304 100644 --- a/test/cannery_web/live/container_live_test.exs +++ b/test/cannery_web/live/container_live_test.exs @@ -75,7 +75,10 @@ defmodule CanneryWeb.ContainerLiveTest do test "lists all containers in table mode", %{conn: conn, container: container} do {:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index)) - html = index_live |> element("[data-qa=\"toggle_table\"]") |> render_click() + html = + index_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) + |> render_click() assert html =~ gettext("Containers") assert html =~ container.location @@ -87,7 +90,7 @@ defmodule CanneryWeb.ContainerLiveTest do assert html =~ container.location assert index_live - |> form("[data-qa=\"container_search\"]", + |> form(~s/form[phx-change="search"]/, search: %{search_term: container.location} ) |> render_change() =~ container.location @@ -95,13 +98,13 @@ defmodule CanneryWeb.ContainerLiveTest do assert_patch(index_live, Routes.container_index_path(conn, :search, container.location)) refute index_live - |> form("[data-qa=\"container_search\"]", search: %{search_term: "something_else"}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"}) |> render_change() =~ container.location assert_patch(index_live, Routes.container_index_path(conn, :search, "something_else")) assert index_live - |> form("[data-qa=\"container_search\"]", search: %{search_term: ""}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: ""}) |> render_change() =~ container.location assert_patch(index_live, Routes.container_index_path(conn, :index)) @@ -136,7 +139,7 @@ defmodule CanneryWeb.ContainerLiveTest do } do {:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"edit-#{container.id}\"]") |> render_click() =~ + assert index_live |> element(~s/a[aria-label="Edit #{container.name}"]/) |> render_click() =~ gettext("Edit %{name}", name: container.name) assert_patch(index_live, Routes.container_index_path(conn, :edit, container)) @@ -163,7 +166,7 @@ defmodule CanneryWeb.ContainerLiveTest do } do {:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index)) - html = index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click() + html = index_live |> element(~s/a[aria-label="Clone #{container.name}"]/) |> render_click() assert html =~ gettext("New Container") assert html =~ "some location" @@ -191,7 +194,7 @@ defmodule CanneryWeb.ContainerLiveTest do } do {:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"clone-#{container.id}\"]") |> render_click() =~ + assert index_live |> element(~s/a[aria-label="Clone #{container.name}"]/) |> render_click() =~ gettext("New Container") assert_patch(index_live, Routes.container_index_path(conn, :clone, container)) @@ -216,7 +219,7 @@ defmodule CanneryWeb.ContainerLiveTest do test "deletes container in listing", %{conn: conn, container: container} do {:ok, index_live, _html} = live(conn, Routes.container_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"delete-#{container.id}\"]") |> render_click() + assert index_live |> element(~s/a[aria-label="Delete #{container.name}"]/) |> render_click() refute has_element?(index_live, "#container-#{container.id}") end end @@ -241,7 +244,7 @@ defmodule CanneryWeb.ContainerLiveTest do } do {:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container)) - assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~ + assert show_live |> element(~s/a[aria-label="Edit #{container.name}"]/) |> render_click() =~ gettext("Edit %{name}", name: container.name) assert_patch(show_live, Routes.container_show_path(conn, :edit, container)) @@ -277,7 +280,10 @@ defmodule CanneryWeb.ContainerLiveTest do %{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do {:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container)) - html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) + |> render_click() assert html =~ ammo_type_name assert html =~ "some ammo group" @@ -294,7 +300,10 @@ defmodule CanneryWeb.ContainerLiveTest do assert html =~ dgettext("actions", "Show used") refute html =~ "some ammo group" - html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ ammo_type_name assert html =~ "some ammo group" @@ -305,12 +314,18 @@ defmodule CanneryWeb.ContainerLiveTest do %{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do {:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container)) - html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_table-label"}]/) + |> render_click() assert html =~ dgettext("actions", "Show used") refute html =~ "some ammo group" - html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() + html = + show_live + |> element(~s/input[type="checkbox"][aria-labelledby="toggle_show_used-label"}]/) + |> render_click() assert html =~ ammo_type_name assert html =~ "some ammo group" diff --git a/test/cannery_web/live/invite_live_test.exs b/test/cannery_web/live/invite_live_test.exs index f82e390..9a03574 100644 --- a/test/cannery_web/live/invite_live_test.exs +++ b/test/cannery_web/live/invite_live_test.exs @@ -55,7 +55,9 @@ defmodule CanneryWeb.InviteLiveTest do test "updates invite in listing", %{conn: conn, invite: invite} do {:ok, index_live, _html} = live(conn, Routes.invite_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"edit-#{invite.id}\"]") |> render_click() =~ + assert index_live + |> element(~s/a[aria-label="Edit invite for #{invite.name}"]/) + |> render_click() =~ gettext("Edit Invite") assert_patch(index_live, Routes.invite_index_path(conn, :edit, invite)) @@ -81,7 +83,10 @@ defmodule CanneryWeb.InviteLiveTest do test "deletes invite in listing", %{conn: conn, invite: invite} do {:ok, index_live, _html} = live(conn, Routes.invite_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"delete-#{invite.id}\"]") |> render_click() + assert index_live + |> element(~s/a[aria-label="Delete invite for #{invite.name}"]/) + |> render_click() + refute has_element?(index_live, "#invite-#{invite.id}") end end diff --git a/test/cannery_web/live/range_live_test.exs b/test/cannery_web/live/range_live_test.exs index fd2ed6b..45768cc 100644 --- a/test/cannery_web/live/range_live_test.exs +++ b/test/cannery_web/live/range_live_test.exs @@ -43,7 +43,7 @@ defmodule CanneryWeb.RangeLiveTest do assert html =~ shot_group.notes assert index_live - |> form("[data-qa=\"shot_group_search\"]", + |> form(~s/form[phx-change="search"]/, search: %{search_term: shot_group.notes} ) |> render_change() =~ shot_group.notes @@ -51,13 +51,13 @@ defmodule CanneryWeb.RangeLiveTest do assert_patch(index_live, Routes.range_index_path(conn, :search, shot_group.notes)) refute index_live - |> form("[data-qa=\"shot_group_search\"]", search: %{search_term: "something_else"}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"}) |> render_change() =~ shot_group.notes assert_patch(index_live, Routes.range_index_path(conn, :search, "something_else")) assert index_live - |> form("[data-qa=\"shot_group_search\"]", search: %{search_term: ""}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: ""}) |> render_change() =~ shot_group.notes assert_patch(index_live, Routes.range_index_path(conn, :index)) @@ -88,7 +88,9 @@ defmodule CanneryWeb.RangeLiveTest do test "updates shot_group in listing", %{conn: conn, shot_group: shot_group} do {:ok, index_live, _html} = live(conn, Routes.range_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"edit-#{shot_group.id}\"]") |> render_click() =~ + assert index_live + |> element(~s/a[aria-label="Edit shot record of #{shot_group.count} shots"]/) + |> render_click() =~ gettext("Edit Shot Records") assert_patch(index_live, Routes.range_index_path(conn, :edit, shot_group)) @@ -110,7 +112,10 @@ defmodule CanneryWeb.RangeLiveTest do test "deletes shot_group in listing", %{conn: conn, shot_group: shot_group} do {:ok, index_live, _html} = live(conn, Routes.range_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"delete-#{shot_group.id}\"]") |> render_click() + assert index_live + |> element(~s/a[aria-label="Delete shot record of #{shot_group.count} shots"]/) + |> render_click() + refute has_element?(index_live, "#shot_group-#{shot_group.id}") end end diff --git a/test/cannery_web/live/tag_live_test.exs b/test/cannery_web/live/tag_live_test.exs index 17b9807..93d7a73 100644 --- a/test/cannery_web/live/tag_live_test.exs +++ b/test/cannery_web/live/tag_live_test.exs @@ -47,7 +47,7 @@ defmodule CanneryWeb.TagLiveTest do assert html =~ tag.name assert index_live - |> form("[data-qa=\"tag_search\"]", + |> form(~s/form[phx-change="search"]/, search: %{search_term: tag.name} ) |> render_change() =~ tag.name @@ -55,13 +55,13 @@ defmodule CanneryWeb.TagLiveTest do assert_patch(index_live, Routes.tag_index_path(conn, :search, tag.name)) refute index_live - |> form("[data-qa=\"tag_search\"]", search: %{search_term: "something_else"}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: "something_else"}) |> render_change() =~ tag.name assert_patch(index_live, Routes.tag_index_path(conn, :search, "something_else")) assert index_live - |> form("[data-qa=\"tag_search\"]", search: %{search_term: ""}) + |> form(~s/form[phx-change="search"]/, search: %{search_term: ""}) |> render_change() =~ tag.name assert_patch(index_live, Routes.tag_index_path(conn, :index)) @@ -92,7 +92,7 @@ defmodule CanneryWeb.TagLiveTest do test "updates tag in listing", %{conn: conn, tag: tag} do {:ok, index_live, _html} = live(conn, Routes.tag_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"edit-#{tag.id}\"]") |> render_click() =~ + assert index_live |> element(~s/a[aria-label="Edit #{tag.name}"]/) |> render_click() =~ dgettext("actions", "Edit Tag") assert_patch(index_live, Routes.tag_index_path(conn, :edit, tag)) @@ -116,7 +116,7 @@ defmodule CanneryWeb.TagLiveTest do test "deletes tag in listing", %{conn: conn, tag: tag} do {:ok, index_live, _html} = live(conn, Routes.tag_index_path(conn, :index)) - assert index_live |> element("[data-qa=\"delete-#{tag.id}\"]") |> render_click() + assert index_live |> element(~s/a[aria-label="Delete #{tag.name}"]/) |> render_click() refute has_element?(index_live, "#tag-#{tag.id}") end end