<%= live_patch to: Routes.ammo_group_show_path(Endpoint, :edit_shot_group, @ammo_group, shot_group),
@@ -136,7 +136,7 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
"""
key ->
- shot_group |> Map.get(key |> String.to_existing_atom())
+ shot_group |> Map.get(key)
end
{key, value}
diff --git a/lib/cannery_web/live/ammo_type_live/index.ex b/lib/cannery_web/live/ammo_type_live/index.ex
index 1597a950..1da49b9d 100644
--- a/lib/cannery_web/live/ammo_type_live/index.ex
+++ b/lib/cannery_web/live/ammo_type_live/index.ex
@@ -48,29 +48,29 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
columns =
[
- %{label: gettext("Name"), key: "name", type: :name},
- %{label: gettext("Bullet type"), key: "bullet_type", type: :string},
- %{label: gettext("Bullet core"), key: "bullet_core", type: :string},
- %{label: gettext("Cartridge"), key: "cartridge", type: :string},
- %{label: gettext("Caliber"), key: "caliber", type: :string},
- %{label: gettext("Case material"), key: "case_material", type: :string},
- %{label: gettext("Jacket type"), key: "jacket_type", type: :string},
- %{label: gettext("Muzzle velocity"), key: "muzzle_velocity", type: :string},
- %{label: gettext("Powder type"), key: "powder_type", type: :string},
+ %{label: gettext("Name"), key: :name, type: :name},
+ %{label: gettext("Bullet type"), key: :bullet_type, type: :string},
+ %{label: gettext("Bullet core"), key: :bullet_core, type: :string},
+ %{label: gettext("Cartridge"), key: :cartridge, type: :string},
+ %{label: gettext("Caliber"), key: :caliber, type: :string},
+ %{label: gettext("Case material"), key: :case_material, type: :string},
+ %{label: gettext("Jacket type"), key: :jacket_type, type: :string},
+ %{label: gettext("Muzzle velocity"), key: :muzzle_velocity, type: :string},
+ %{label: gettext("Powder type"), key: :powder_type, type: :string},
%{
label: gettext("Powder grains per charge"),
- key: "powder_grains_per_charge",
+ key: :powder_grains_per_charge,
type: :string
},
- %{label: gettext("Grains"), key: "grains", type: :string},
- %{label: gettext("Pressure"), key: "pressure", type: :string},
- %{label: gettext("Primer type"), key: "primer_type", type: :string},
- %{label: gettext("Firing type"), key: "firing_type", type: :string},
- %{label: gettext("Tracer"), key: "tracer", type: :boolean},
- %{label: gettext("Incendiary"), key: "incendiary", type: :boolean},
- %{label: gettext("Blank"), key: "blank", type: :boolean},
- %{label: gettext("Corrosive"), key: "corrosive", type: :boolean},
- %{label: gettext("Manufacturer"), key: "manufacturer", type: :string},
+ %{label: gettext("Grains"), key: :grains, type: :string},
+ %{label: gettext("Pressure"), key: :pressure, type: :string},
+ %{label: gettext("Primer type"), key: :primer_type, type: :string},
+ %{label: gettext("Firing type"), key: :firing_type, type: :string},
+ %{label: gettext("Tracer"), key: :tracer, type: :boolean},
+ %{label: gettext("Incendiary"), key: :incendiary, type: :boolean},
+ %{label: gettext("Blank"), key: :blank, type: :boolean},
+ %{label: gettext("Corrosive"), key: :corrosive, type: :boolean},
+ %{label: gettext("Manufacturer"), key: :manufacturer, type: :string},
%{label: gettext("UPC"), key: "upc", type: :string}
]
|> Enum.filter(fn %{key: key, type: type} ->
@@ -79,13 +79,13 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
ammo_types
|> Enum.any?(fn ammo_type ->
- not (ammo_type |> Map.get(key |> String.to_existing_atom()) == default_value)
+ not (ammo_type |> Map.get(key) == default_value)
end)
end)
|> Kernel.++([
- %{label: gettext("Total # of rounds"), key: "round_count", type: :round_count},
- %{label: gettext("Total # of ammo"), key: "ammo_count", type: :ammo_count},
- %{label: gettext("Average Price paid"), key: "avg_price_paid", type: :avg_price_paid},
+ %{label: gettext("Total # of rounds"), key: :round_count, type: :round_count},
+ %{label: gettext("Total # of ammo"), key: :ammo_count, type: :ammo_count},
+ %{label: gettext("Average Price paid"), key: :avg_price_paid, type: :avg_price_paid},
%{label: nil, key: "actions", type: :actions, sortable: false}
])
@@ -104,7 +104,7 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
end
defp get_ammo_type_value(:boolean, key, ammo_type, _current_user),
- do: ammo_type |> Map.get(key |> String.to_existing_atom()) |> humanize()
+ do: ammo_type |> Map.get(key) |> humanize()
defp get_ammo_type_value(:round_count, _key, ammo_type, current_user),
do: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user)
@@ -164,6 +164,5 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
defp get_ammo_type_value(nil, _key, _ammo_type, _current_user), do: nil
- defp get_ammo_type_value(_other, key, ammo_type, _current_user),
- do: ammo_type |> Map.get(key |> String.to_existing_atom())
+ defp get_ammo_type_value(_other, key, ammo_type, _current_user), do: ammo_type |> Map.get(key)
end
diff --git a/lib/cannery_web/live/ammo_type_live/show.ex b/lib/cannery_web/live/ammo_type_live/show.ex
index 54ff6ed9..31d28c8a 100644
--- a/lib/cannery_web/live/ammo_type_live/show.ex
+++ b/lib/cannery_web/live/ammo_type_live/show.ex
@@ -32,7 +32,7 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
end
@impl true
- def handle_event("toggle_show_used", _, %{assigns: %{show_used: show_used}} = socket) do
+ def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()}
end
diff --git a/lib/cannery_web/live/container_live/show.ex b/lib/cannery_web/live/container_live/show.ex
index 5bde7111..933ee5f7 100644
--- a/lib/cannery_web/live/container_live/show.ex
+++ b/lib/cannery_web/live/container_live/show.ex
@@ -5,7 +5,7 @@ defmodule CanneryWeb.ContainerLive.Show do
use CanneryWeb, :live_view
import CanneryWeb.Components.{AmmoGroupCard, TagCard}
- alias Cannery.{Ammo, Accounts.User, Containers, Containers.Container, Repo, Tags}
+ alias Cannery.{Accounts.User, Ammo, Containers, Containers.Container, Repo, Tags}
alias CanneryWeb.Endpoint
alias Ecto.Changeset
alias Phoenix.LiveView.Socket
@@ -83,7 +83,7 @@ defmodule CanneryWeb.ContainerLive.Show do
end
@impl true
- def handle_event("toggle_show_used", _, %{assigns: %{show_used: show_used}} = socket) do
+ def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do
{:noreply, socket |> assign(:show_used, !show_used) |> render_container()}
end
diff --git a/lib/cannery_web/live/range_live/index.ex b/lib/cannery_web/live/range_live/index.ex
index f9cda6fc..28d25e77 100644
--- a/lib/cannery_web/live/range_live/index.ex
+++ b/lib/cannery_web/live/range_live/index.ex
@@ -77,11 +77,11 @@ defmodule CanneryWeb.RangeLive.Index do
ammo_groups = Ammo.list_staged_ammo_groups(current_user)
columns = [
- %{label: gettext("Ammo"), key: "name"},
- %{label: gettext("Rounds shot"), key: "count"},
- %{label: gettext("Notes"), key: "notes"},
- %{label: gettext("Date"), key: "date"},
- %{label: nil, key: "actions", sortable: false}
+ %{label: gettext("Ammo"), key: :name},
+ %{label: gettext("Rounds shot"), key: :count},
+ %{label: gettext("Notes"), key: :notes},
+ %{label: gettext("Date"), key: :date},
+ %{label: nil, key: :actions, sortable: false}
]
rows =
@@ -101,17 +101,17 @@ defmodule CanneryWeb.RangeLive.Index do
|> Enum.into(%{}, fn %{key: key} ->
value =
case key do
- "name" ->
+ :name ->
{shot_group.ammo_group.ammo_type.name,
live_patch(shot_group.ammo_group.ammo_type.name,
to: Routes.ammo_group_show_path(Endpoint, :show, shot_group.ammo_group),
class: "link"
)}
- "date" ->
+ :date ->
date |> display_date()
- "actions" ->
+ :actions ->
~H"""
<%= live_patch to: Routes.range_index_path(Endpoint, :edit, shot_group),
@@ -134,7 +134,7 @@ defmodule CanneryWeb.RangeLive.Index do
"""
key ->
- shot_group |> Map.get(key |> String.to_existing_atom())
+ shot_group |> Map.get(key)
end
{key, value}
diff --git a/priv/gettext/actions.pot b/priv/gettext/actions.pot
index 0fd04286..3ec84925 100644
--- a/priv/gettext/actions.pot
+++ b/priv/gettext/actions.pot
@@ -156,7 +156,7 @@ msgid "Why not get some ready to shoot?"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:160
+#: lib/cannery_web/live/ammo_group_live/index.ex:183
#: lib/cannery_web/live/ammo_group_live/show.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:36
msgid "Record shots"
diff --git a/priv/gettext/de/LC_MESSAGES/actions.po b/priv/gettext/de/LC_MESSAGES/actions.po
index f7add7ff..e992b712 100644
--- a/priv/gettext/de/LC_MESSAGES/actions.po
+++ b/priv/gettext/de/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?"
msgstr "Warum nicht einige für den Schießstand auswählen?"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:160
+#: lib/cannery_web/live/ammo_group_live/index.ex:183
#: lib/cannery_web/live/ammo_group_live/show.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:36
msgid "Record shots"
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index 7b97cf98..5b9e108c 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -376,7 +376,7 @@ msgid "Price paid"
msgstr "Kaufpreis"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:52
+#: lib/cannery_web/components/ammo_group_card.ex:59
msgid "Price paid:"
msgstr "Kaufpreis:"
@@ -601,7 +601,7 @@ msgstr "Munitionsgruppe verschieben"
#, elixir-autogen, elixir-format
#: lib/cannery_web/components/move_ammo_group_component.ex:80
-#: lib/cannery_web/live/ammo_group_live/index.ex:217
+#: lib/cannery_web/live/ammo_group_live/index.ex:240
msgid "Move ammo"
msgstr "Munition verschieben"
@@ -616,8 +616,8 @@ msgid "Shot log"
msgstr "Schießkladde"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:53
-#: lib/cannery_web/live/ammo_group_live/index.ex:134
+#: lib/cannery_web/components/ammo_group_card.ex:60
+#: lib/cannery_web/live/ammo_group_live/index.ex:142
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:118
@@ -682,12 +682,12 @@ msgid "New password"
msgstr "Neues Passwort"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Stage"
msgstr "Markiert"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Unstage"
msgstr "Demarkiert"
@@ -942,7 +942,7 @@ msgid "Total # of ammo"
msgstr "Summe aller Patronen"
#, elixir-autogen, elixir-format, fuzzy
-#: lib/cannery_web/components/ammo_group_card.ex:61
+#: lib/cannery_web/components/ammo_group_card.ex:68
msgid "Container:"
msgstr "Behälter"
@@ -952,3 +952,13 @@ msgstr "Behälter"
#: lib/cannery_web/live/container_live/show.html.heex:90
msgid "Show used"
msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/live/ammo_group_live/index.ex:101
+msgid "Used up on"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/components/ammo_group_card.ex:52
+msgid "Used up on:"
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index 86902ab7..6074f901 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -188,7 +188,7 @@ msgstr ""
"%{multiplier}"
#, elixir-autogen, elixir-format
-#: lib/cannery/ammo.ex:524
+#: lib/cannery/ammo.ex:535
msgid "Invalid multiplier"
msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/prompts.po b/priv/gettext/de/LC_MESSAGES/prompts.po
index 4a27b943..8242ef3e 100644
--- a/priv/gettext/de/LC_MESSAGES/prompts.po
+++ b/priv/gettext/de/LC_MESSAGES/prompts.po
@@ -100,7 +100,7 @@ msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:193
+#: lib/cannery_web/live/ammo_group_live/index.ex:216
#: lib/cannery_web/live/ammo_group_live/show.html.heex:71
msgid "Are you sure you want to delete this ammo?"
msgstr "Sind Sie sicher, dass sie diese Munition löschen möchten?"
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 03192a53..725e5495 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -361,7 +361,7 @@ msgid "Price paid"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:52
+#: lib/cannery_web/components/ammo_group_card.ex:59
msgid "Price paid:"
msgstr ""
@@ -584,7 +584,7 @@ msgstr ""
#, elixir-autogen, elixir-format
#: lib/cannery_web/components/move_ammo_group_component.ex:80
-#: lib/cannery_web/live/ammo_group_live/index.ex:217
+#: lib/cannery_web/live/ammo_group_live/index.ex:240
msgid "Move ammo"
msgstr ""
@@ -599,8 +599,8 @@ msgid "Shot log"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:53
-#: lib/cannery_web/live/ammo_group_live/index.ex:134
+#: lib/cannery_web/components/ammo_group_card.ex:60
+#: lib/cannery_web/live/ammo_group_live/index.ex:142
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:118
@@ -665,12 +665,12 @@ msgid "New password"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Stage"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Unstage"
msgstr ""
@@ -925,7 +925,7 @@ msgid "Total # of ammo"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:61
+#: lib/cannery_web/components/ammo_group_card.ex:68
msgid "Container:"
msgstr ""
@@ -935,3 +935,13 @@ msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:90
msgid "Show used"
msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/live/ammo_group_live/index.ex:101
+msgid "Used up on"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/components/ammo_group_card.ex:52
+msgid "Used up on:"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/actions.po b/priv/gettext/en/LC_MESSAGES/actions.po
index 182ca5dc..c16327c3 100644
--- a/priv/gettext/en/LC_MESSAGES/actions.po
+++ b/priv/gettext/en/LC_MESSAGES/actions.po
@@ -157,7 +157,7 @@ msgid "Why not get some ready to shoot?"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:160
+#: lib/cannery_web/live/ammo_group_live/index.ex:183
#: lib/cannery_web/live/ammo_group_live/show.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:36
msgid "Record shots"
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index d201414b..6c33cbbe 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -362,7 +362,7 @@ msgid "Price paid"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:52
+#: lib/cannery_web/components/ammo_group_card.ex:59
msgid "Price paid:"
msgstr ""
@@ -585,7 +585,7 @@ msgstr ""
#, elixir-autogen, elixir-format
#: lib/cannery_web/components/move_ammo_group_component.ex:80
-#: lib/cannery_web/live/ammo_group_live/index.ex:217
+#: lib/cannery_web/live/ammo_group_live/index.ex:240
msgid "Move ammo"
msgstr ""
@@ -600,8 +600,8 @@ msgid "Shot log"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:53
-#: lib/cannery_web/live/ammo_group_live/index.ex:134
+#: lib/cannery_web/components/ammo_group_card.ex:60
+#: lib/cannery_web/live/ammo_group_live/index.ex:142
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:118
@@ -666,12 +666,12 @@ msgid "New password"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Stage"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Unstage"
msgstr ""
@@ -926,7 +926,7 @@ msgid "Total # of ammo"
msgstr ""
#, elixir-autogen, elixir-format, fuzzy
-#: lib/cannery_web/components/ammo_group_card.ex:61
+#: lib/cannery_web/components/ammo_group_card.ex:68
msgid "Container:"
msgstr ""
@@ -936,3 +936,13 @@ msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:90
msgid "Show used"
msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/live/ammo_group_live/index.ex:101
+msgid "Used up on"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/components/ammo_group_card.ex:52
+msgid "Used up on:"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 1cbb6db0..028ba863 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -171,7 +171,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery/ammo.ex:524
+#: lib/cannery/ammo.ex:535
msgid "Invalid multiplier"
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/prompts.po b/priv/gettext/en/LC_MESSAGES/prompts.po
index 349a00dd..4ea35b00 100644
--- a/priv/gettext/en/LC_MESSAGES/prompts.po
+++ b/priv/gettext/en/LC_MESSAGES/prompts.po
@@ -86,7 +86,7 @@ msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:193
+#: lib/cannery_web/live/ammo_group_live/index.ex:216
#: lib/cannery_web/live/ammo_group_live/show.html.heex:71
msgid "Are you sure you want to delete this ammo?"
msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index 33ff7751..86ff0658 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -170,7 +170,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery/ammo.ex:524
+#: lib/cannery/ammo.ex:535
msgid "Invalid multiplier"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/actions.po b/priv/gettext/es/LC_MESSAGES/actions.po
index 1479e290..05818eeb 100644
--- a/priv/gettext/es/LC_MESSAGES/actions.po
+++ b/priv/gettext/es/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:160
+#: lib/cannery_web/live/ammo_group_live/index.ex:183
#: lib/cannery_web/live/ammo_group_live/show.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:36
msgid "Record shots"
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index b8926c0f..4e7ed1f6 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -376,7 +376,7 @@ msgid "Price paid"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:52
+#: lib/cannery_web/components/ammo_group_card.ex:59
msgid "Price paid:"
msgstr ""
@@ -599,7 +599,7 @@ msgstr ""
#, elixir-autogen, elixir-format
#: lib/cannery_web/components/move_ammo_group_component.ex:80
-#: lib/cannery_web/live/ammo_group_live/index.ex:217
+#: lib/cannery_web/live/ammo_group_live/index.ex:240
msgid "Move ammo"
msgstr ""
@@ -614,8 +614,8 @@ msgid "Shot log"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:53
-#: lib/cannery_web/live/ammo_group_live/index.ex:134
+#: lib/cannery_web/components/ammo_group_card.ex:60
+#: lib/cannery_web/live/ammo_group_live/index.ex:142
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:118
@@ -680,12 +680,12 @@ msgid "New password"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Stage"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Unstage"
msgstr ""
@@ -940,7 +940,7 @@ msgid "Total # of ammo"
msgstr ""
#, elixir-autogen, elixir-format, fuzzy
-#: lib/cannery_web/components/ammo_group_card.ex:61
+#: lib/cannery_web/components/ammo_group_card.ex:68
msgid "Container:"
msgstr ""
@@ -950,3 +950,13 @@ msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:90
msgid "Show used"
msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/live/ammo_group_live/index.ex:101
+msgid "Used up on"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/components/ammo_group_card.ex:52
+msgid "Used up on:"
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index b6ba6f3d..72ca8b8e 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -186,7 +186,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery/ammo.ex:524
+#: lib/cannery/ammo.ex:535
msgid "Invalid multiplier"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/prompts.po b/priv/gettext/es/LC_MESSAGES/prompts.po
index af0dd4ad..80c27140 100644
--- a/priv/gettext/es/LC_MESSAGES/prompts.po
+++ b/priv/gettext/es/LC_MESSAGES/prompts.po
@@ -100,7 +100,7 @@ msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:193
+#: lib/cannery_web/live/ammo_group_live/index.ex:216
#: lib/cannery_web/live/ammo_group_live/show.html.heex:71
msgid "Are you sure you want to delete this ammo?"
msgstr "Está seguro que desea eliminar esta munición?"
diff --git a/priv/gettext/fr/LC_MESSAGES/actions.po b/priv/gettext/fr/LC_MESSAGES/actions.po
index 14a77a09..e8bef04f 100644
--- a/priv/gettext/fr/LC_MESSAGES/actions.po
+++ b/priv/gettext/fr/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer ?"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:160
+#: lib/cannery_web/live/ammo_group_live/index.ex:183
#: lib/cannery_web/live/ammo_group_live/show.html.heex:91
#: lib/cannery_web/live/range_live/index.html.heex:36
msgid "Record shots"
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index e9c27139..78b9dfd1 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -376,7 +376,7 @@ msgid "Price paid"
msgstr "Prix payé"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:52
+#: lib/cannery_web/components/ammo_group_card.ex:59
msgid "Price paid:"
msgstr "Prix payé :"
@@ -603,7 +603,7 @@ msgstr "Déplacer le groupe de munition"
#, elixir-autogen, elixir-format
#: lib/cannery_web/components/move_ammo_group_component.ex:80
-#: lib/cannery_web/live/ammo_group_live/index.ex:217
+#: lib/cannery_web/live/ammo_group_live/index.ex:240
msgid "Move ammo"
msgstr "Déplacer munition"
@@ -618,8 +618,8 @@ msgid "Shot log"
msgstr "Évènements de tir"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/components/ammo_group_card.ex:53
-#: lib/cannery_web/live/ammo_group_live/index.ex:134
+#: lib/cannery_web/components/ammo_group_card.ex:60
+#: lib/cannery_web/live/ammo_group_live/index.ex:142
#: lib/cannery_web/live/ammo_group_live/show.html.heex:37
#: lib/cannery_web/live/ammo_group_live/show.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:118
@@ -684,12 +684,12 @@ msgid "New password"
msgstr "Nouveau mot de passe"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Stage"
msgstr "Sélectionné"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:157
+#: lib/cannery_web/live/ammo_group_live/index.ex:180
msgid "Unstage"
msgstr "Désélectionner"
@@ -944,7 +944,7 @@ msgid "Total # of ammo"
msgstr "Quantité de cartouches"
#, elixir-autogen, elixir-format, fuzzy
-#: lib/cannery_web/components/ammo_group_card.ex:61
+#: lib/cannery_web/components/ammo_group_card.ex:68
msgid "Container:"
msgstr "Conteneur"
@@ -954,3 +954,13 @@ msgstr "Conteneur"
#: lib/cannery_web/live/container_live/show.html.heex:90
msgid "Show used"
msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/live/ammo_group_live/index.ex:101
+msgid "Used up on"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+#: lib/cannery_web/components/ammo_group_card.ex:52
+msgid "Used up on:"
+msgstr ""
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index 7106c378..6cf37cbf 100644
--- a/priv/gettext/fr/LC_MESSAGES/errors.po
+++ b/priv/gettext/fr/LC_MESSAGES/errors.po
@@ -187,7 +187,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}
msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}"
#, elixir-autogen, elixir-format
-#: lib/cannery/ammo.ex:524
+#: lib/cannery/ammo.ex:535
msgid "Invalid multiplier"
msgstr ""
diff --git a/priv/gettext/fr/LC_MESSAGES/prompts.po b/priv/gettext/fr/LC_MESSAGES/prompts.po
index c40a5cbe..6fa4bcab 100644
--- a/priv/gettext/fr/LC_MESSAGES/prompts.po
+++ b/priv/gettext/fr/LC_MESSAGES/prompts.po
@@ -101,7 +101,7 @@ msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?"
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:193
+#: lib/cannery_web/live/ammo_group_live/index.ex:216
#: lib/cannery_web/live/ammo_group_live/show.html.heex:71
msgid "Are you sure you want to delete this ammo?"
msgstr "Êtes-vous certain·e de supprimer cette munition ?"
diff --git a/priv/gettext/prompts.pot b/priv/gettext/prompts.pot
index e2e9c64e..0cbea26f 100644
--- a/priv/gettext/prompts.pot
+++ b/priv/gettext/prompts.pot
@@ -85,7 +85,7 @@ msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
#, elixir-autogen, elixir-format
-#: lib/cannery_web/live/ammo_group_live/index.ex:193
+#: lib/cannery_web/live/ammo_group_live/index.ex:216
#: lib/cannery_web/live/ammo_group_live/show.html.heex:71
msgid "Are you sure you want to delete this ammo?"
msgstr ""