<%= if @view_table do %>
<.live_component
module={CanneryWeb.Components.TableComponent}
diff --git a/lib/cannery_web/live/container_live/show.ex b/lib/cannery_web/live/container_live/show.ex
index 0a7f875d..4241d30f 100644
--- a/lib/cannery_web/live/container_live/show.ex
+++ b/lib/cannery_web/live/container_live/show.ex
@@ -11,15 +11,19 @@ defmodule CanneryWeb.ContainerLive.Show do
alias Phoenix.LiveView.Socket
@impl true
- def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)}
+ def mount(_params, _session, socket),
+ do: {:ok, socket |> assign(show_used: false, view_table: false)}
@impl true
def handle_params(
%{"id" => id},
_session,
- %{assigns: %{current_user: current_user}} = socket
+ %{assigns: %{current_user: current_user, live_action: live_action}} = socket
) do
- {:noreply, socket |> render_container(id, current_user)}
+ socket =
+ socket |> assign(view_table: live_action == :table) |> render_container(id, current_user)
+
+ {:noreply, socket}
end
@impl true
@@ -87,6 +91,20 @@ defmodule CanneryWeb.ContainerLive.Show do
{:noreply, socket |> assign(:show_used, !show_used) |> render_container()}
end
+ @impl true
+ def handle_event(
+ "toggle_table",
+ _params,
+ %{assigns: %{view_table: view_table, container: container}} = socket
+ ) do
+ new_path =
+ if view_table,
+ do: Routes.container_show_path(Endpoint, :show, container),
+ else: Routes.container_show_path(Endpoint, :table, container)
+
+ {:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
+ end
+
@spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t()
defp render_container(
%{assigns: %{live_action: live_action, show_used: show_used}} = socket,
@@ -102,7 +120,7 @@ defmodule CanneryWeb.ContainerLive.Show do
page_title =
case live_action do
- :show -> gettext("Show %{name}", name: container_name)
+ action when action in [:show, :table] -> container_name
:edit -> gettext("Edit %{name}", name: container_name)
:edit_tags -> gettext("Edit %{name} tags", name: container_name)
end
diff --git a/lib/cannery_web/live/container_live/show.html.heex b/lib/cannery_web/live/container_live/show.html.heex
index 58b415b0..318b1f61 100644
--- a/lib/cannery_web/live/container_live/show.html.heex
+++ b/lib/cannery_web/live/container_live/show.html.heex
@@ -91,25 +91,47 @@
+
<.toggle_button action="toggle_show_used" value={@show_used}>
- <%= dgettext("actions", "Show used") %>
+ <%= gettext("Show used") %>
+
+
+
+ <.toggle_button action="toggle_table" value={@view_table}>
+
+ <%= gettext("View as table") %>
-
+
<%= if @ammo_groups |> Enum.empty?() do %>
-
+
<%= gettext("No ammo in this container") %>
<% else %>
-
- <%= for ammo_group <- @ammo_groups do %>
- <.ammo_group_card ammo_group={ammo_group} />
- <% end %>
-
+ <%= if @view_table do %>
+ <.live_component
+ module={CanneryWeb.Components.AmmoGroupTableComponent}
+ id="ammo-type-show-table"
+ ammo_groups={@ammo_groups}
+ current_user={@current_user}
+ show_used={@show_used}
+ >
+ <:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
+ <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">
+ <%= ammo_type_name %>
+
+
+
+ <% else %>
+
+ <%= for ammo_group <- @ammo_groups do %>
+ <.ammo_group_card ammo_group={ammo_group} />
+ <% end %>
+
+ <% end %>
<% end %>
diff --git a/lib/cannery_web/router.ex b/lib/cannery_web/router.ex
index 1daa9ad6..62064647 100644
--- a/lib/cannery_web/router.ex
+++ b/lib/cannery_web/router.ex
@@ -71,8 +71,9 @@ defmodule CanneryWeb.Router do
live "/catalog/:id/clone", AmmoTypeLive.Index, :clone
live "/catalog/:id/edit", AmmoTypeLive.Index, :edit
- live "/catalog/:id", AmmoTypeLive.Show, :show
+ live "/catalog/:id/show", AmmoTypeLive.Show, :show
live "/catalog/:id/show/edit", AmmoTypeLive.Show, :edit
+ live "/catalog/:id/show/table", AmmoTypeLive.Show, :table
live "/containers", ContainerLive.Index, :index
live "/containers/table", ContainerLive.Index, :table
@@ -81,7 +82,8 @@ defmodule CanneryWeb.Router do
live "/containers/:id/clone", ContainerLive.Index, :clone
live "/containers/:id/edit_tags", ContainerLive.Index, :edit_tags
- live "/containers/:id", ContainerLive.Show, :show
+ live "/containers/:id/show", ContainerLive.Show, :show
+ live "/containers/:id/show/table", ContainerLive.Show, :table
live "/containers/:id/show/edit", ContainerLive.Show, :edit
live "/containers/:id/show/edit_tags", ContainerLive.Show, :edit_tags
@@ -92,7 +94,7 @@ defmodule CanneryWeb.Router do
live "/ammo/:id/add_shot_group", AmmoGroupLive.Index, :add_shot_group
live "/ammo/:id/move", AmmoGroupLive.Index, :move
- live "/ammo/:id", AmmoGroupLive.Show, :show
+ live "/ammo/:id/show", AmmoGroupLive.Show, :show
live "/ammo/:id/show/edit", AmmoGroupLive.Show, :edit
live "/ammo/:id/show/add_shot_group", AmmoGroupLive.Show, :add_shot_group
live "/ammo/:id/show/move", AmmoGroupLive.Show, :move
diff --git a/priv/gettext/actions.pot b/priv/gettext/actions.pot
index 91479005..4d41ff3e 100644
--- a/priv/gettext/actions.pot
+++ b/priv/gettext/actions.pot
@@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -233,11 +233,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/de/LC_MESSAGES/actions.po b/priv/gettext/de/LC_MESSAGES/actions.po
index 5b3b29b0..25ca3d47 100644
--- a/priv/gettext/de/LC_MESSAGES/actions.po
+++ b/priv/gettext/de/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ 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.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index c09683cf..12b819f5 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -52,18 +52,12 @@ msgstr "Admins:"
msgid "Ammo"
msgstr "Munition"
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr "Munitionsarten"
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr "Durchschnittlicher Kaufpreis"
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -71,7 +65,6 @@ msgstr "Hintergrundfarbe"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Knallpatrone"
@@ -83,42 +76,37 @@ msgstr "Messing"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Projektilkern"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Patronenart"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Kaliber"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Patrone"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Gehäusematerial"
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Behälter"
@@ -133,13 +121,12 @@ msgstr "Behälter"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Korrosiv"
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Anzahl"
@@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr "Munitionsgruppe bearbeiten"
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr "Munitionstyp bearbeiten"
@@ -201,14 +187,12 @@ msgstr "VM"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Körner"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Brandmunition"
@@ -260,7 +244,6 @@ msgstr "Magazin, Ladestreifen, Munitionskiste usw."
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Hersteller"
@@ -339,6 +322,7 @@ msgid "No tags"
msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -360,13 +344,12 @@ msgstr "Auf dem Bücherregal"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Druck"
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Kaufpreis"
@@ -378,7 +361,6 @@ msgstr "Kaufpreis:"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Zündertyp"
@@ -406,11 +388,6 @@ msgstr ""
msgid "Settings"
msgstr "Einstellungen"
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr "Zeige Munitionsarten"
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -451,7 +428,6 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Leuchtspur"
@@ -499,8 +475,8 @@ msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter"
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Schießplatz"
@@ -582,7 +558,7 @@ msgstr "Schießkladde"
msgid "Move Ammo group"
msgstr "Munitionsgruppe verschieben"
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Munition verschieben"
@@ -598,11 +574,11 @@ msgid "Shot log"
msgstr "Schießkladde"
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr "$%{amount}"
@@ -614,35 +590,30 @@ msgstr "Bimetall"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Patronenhülse"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Mündungsgeschwindigkeit"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Pulverkörner pro Ladung"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Pulverart"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@@ -663,19 +634,18 @@ msgstr "Derzeitiges Passwort"
msgid "New password"
msgstr "Neues Passwort"
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Markiert"
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Demarkiert"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Patronenhülsenform"
@@ -691,36 +661,31 @@ msgid "Loading..."
msgstr "Lädt..."
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "%{name} bearbeiten"
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Editiere %{name} Tags"
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr "Patronen:"
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr "Zeige %{name}"
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr "Keine Preisinformationen"
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "% verbleibend"
@@ -791,14 +756,14 @@ msgstr "Kopien"
msgid "Ammo types"
msgstr "Munitionsart"
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Hinzugefügt am"
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr "Hinzugefügt am:"
@@ -867,7 +832,7 @@ msgstr "Munitionstyp bearbeiten"
msgid "Move Ammo"
msgstr "Munition verschieben"
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Keine Munitionsgruppe in diesem Behälter"
@@ -883,7 +848,7 @@ msgid "This ammo is not in a container"
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -912,12 +877,13 @@ msgstr "Behälter"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -927,7 +893,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -950,7 +916,9 @@ msgstr ""
msgid "Rounds"
msgstr "Patronen:"
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -960,7 +928,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -970,7 +938,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr "Summe aller Patronen"
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:"
msgstr "Summe abgegebener Schüsse:"
@@ -980,7 +948,7 @@ msgstr "Summe abgegebener Schüsse:"
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -990,7 +958,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:"
msgstr ""
@@ -1004,3 +972,115 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Patronen abgefeuert"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Blank:"
+msgstr "Knallpatrone"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet core:"
+msgstr "Projektilkern"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet type:"
+msgstr "Patronenart"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Caliber:"
+msgstr "Kaliber"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Cartridge:"
+msgstr "Patrone"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Case material:"
+msgstr "Gehäusematerial"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Corrosive:"
+msgstr "Korrosiv"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Firing type:"
+msgstr "Patronenhülsenform"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Grains:"
+msgstr "Körner"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Incendiary:"
+msgstr "Brandmunition"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Jacket type:"
+msgstr "Patronenhülse"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Manufacturer:"
+msgstr "Hersteller"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Muzzle velocity:"
+msgstr "Mündungsgeschwindigkeit"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder grains per charge:"
+msgstr "Pulverkörner pro Ladung"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder type:"
+msgstr "Pulverart"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Pressure:"
+msgstr "Druck"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Primer type:"
+msgstr "Zündertyp"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Tracer:"
+msgstr "Leuchtspur"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format, fuzzy
+msgid "UPC:"
+msgstr "UPC"
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Edit %{ammo_type_name}"
+msgstr "%{name} bearbeiten"
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index 972d1145..aaf12541 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Behälter muss vor dem Löschen leer sein"
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Konnte %{name} nicht löschen: %{error}"
diff --git a/priv/gettext/de/LC_MESSAGES/prompts.po b/priv/gettext/de/LC_MESSAGES/prompts.po
index ce36d972..3123b040 100644
--- a/priv/gettext/de/LC_MESSAGES/prompts.po
+++ b/priv/gettext/de/LC_MESSAGES/prompts.po
@@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} erfolgreich erstellt"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} erfolgreich aktiviert"
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} wurde gelöscht"
@@ -100,7 +100,7 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
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?"
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -193,7 +193,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} erfolgreich hinzugefügt"
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} wurde von %{container_name} entfernt"
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index f2170702..fe134ae5 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -37,18 +37,12 @@ msgstr ""
msgid "Ammo"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr ""
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -56,7 +50,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
@@ -68,42 +61,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -118,13 +106,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -159,7 +146,6 @@ msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr ""
@@ -186,14 +172,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@@ -245,7 +229,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
@@ -324,6 +307,7 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -345,13 +329,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -363,7 +346,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@@ -389,11 +371,6 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr ""
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -434,7 +411,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@@ -482,8 +458,8 @@ msgstr ""
msgid "No tags for this container"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@@ -565,7 +541,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@@ -581,11 +557,11 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr ""
@@ -597,35 +573,30 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@@ -646,19 +617,18 @@ msgstr ""
msgid "New password"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@@ -674,36 +644,31 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr ""
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@@ -774,14 +739,14 @@ msgstr ""
msgid "Ammo types"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr ""
@@ -850,7 +815,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
@@ -866,7 +831,7 @@ msgid "This ammo is not in a container"
msgstr ""
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -895,12 +860,13 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -910,7 +876,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -933,7 +899,9 @@ msgstr ""
msgid "Rounds"
msgstr ""
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -943,7 +911,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -953,7 +921,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format
msgid "Total ever rounds:"
msgstr ""
@@ -963,7 +931,7 @@ msgstr ""
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -973,7 +941,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Used rounds:"
msgstr ""
@@ -987,3 +955,115 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Rounds shot chart"
msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format
+msgid "Blank:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format
+msgid "Bullet core:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format
+msgid "Bullet type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format
+msgid "Caliber:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format
+msgid "Cartridge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format
+msgid "Case material:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format
+msgid "Corrosive:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format
+msgid "Firing type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format
+msgid "Grains:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format
+msgid "Incendiary:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format
+msgid "Jacket type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format
+msgid "Manufacturer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format
+msgid "Muzzle velocity:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format
+msgid "Powder grains per charge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format
+msgid "Powder type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format
+msgid "Pressure:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format
+msgid "Primer type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format
+msgid "Tracer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format
+msgid "UPC:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format
+msgid "Edit %{ammo_type_name}"
+msgstr ""
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/actions.po b/priv/gettext/en/LC_MESSAGES/actions.po
index e3de8021..d533c492 100644
--- a/priv/gettext/en/LC_MESSAGES/actions.po
+++ b/priv/gettext/en/LC_MESSAGES/actions.po
@@ -157,7 +157,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -234,11 +234,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 75292f42..29af9f43 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -38,18 +38,12 @@ msgstr ""
msgid "Ammo"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr ""
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -57,7 +51,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
@@ -69,42 +62,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -119,13 +107,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -160,7 +147,6 @@ msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr ""
@@ -187,14 +173,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@@ -246,7 +230,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
@@ -325,6 +308,7 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -346,13 +330,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -364,7 +347,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@@ -390,11 +372,6 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr ""
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -435,7 +412,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@@ -483,8 +459,8 @@ msgstr ""
msgid "No tags for this container"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@@ -566,7 +542,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@@ -582,11 +558,11 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr ""
@@ -598,35 +574,30 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@@ -647,19 +618,18 @@ msgstr ""
msgid "New password"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@@ -675,36 +645,31 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds:"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr ""
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@@ -775,14 +740,14 @@ msgstr ""
msgid "Ammo types"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr ""
@@ -851,7 +816,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr ""
@@ -867,7 +832,7 @@ msgid "This ammo is not in a container"
msgstr ""
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -896,12 +861,13 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -911,7 +877,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -934,7 +900,9 @@ msgstr ""
msgid "Rounds"
msgstr ""
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -944,7 +912,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -954,7 +922,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:"
msgstr ""
@@ -964,7 +932,7 @@ msgstr ""
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -974,7 +942,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:"
msgstr ""
@@ -988,3 +956,115 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Blank:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet core:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Caliber:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Cartridge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Case material:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Corrosive:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Firing type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Grains:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Incendiary:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Jacket type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Manufacturer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Muzzle velocity:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder grains per charge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Pressure:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Primer type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Tracer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format, fuzzy
+msgid "UPC:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Edit %{ammo_type_name}"
+msgstr ""
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 7bb4af09..ab0e887d 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/prompts.po b/priv/gettext/en/LC_MESSAGES/prompts.po
index 8ebcf743..fbaa2157 100644
--- a/priv/gettext/en/LC_MESSAGES/prompts.po
+++ b/priv/gettext/en/LC_MESSAGES/prompts.po
@@ -20,7 +20,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -39,7 +39,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@@ -86,7 +86,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -173,7 +173,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index 2d7899bf..1a35d3b4 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/actions.po b/priv/gettext/es/LC_MESSAGES/actions.po
index cb8aabb7..c68e06dc 100644
--- a/priv/gettext/es/LC_MESSAGES/actions.po
+++ b/priv/gettext/es/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index 9da08283..3444d16d 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -52,18 +52,12 @@ msgstr ""
msgid "Ammo"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr ""
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -71,7 +65,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
@@ -83,42 +76,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -133,13 +121,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr ""
@@ -201,14 +187,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@@ -260,7 +244,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
@@ -339,6 +322,7 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -360,13 +344,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -378,7 +361,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@@ -404,11 +386,6 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr ""
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -449,7 +426,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@@ -497,8 +473,8 @@ msgstr ""
msgid "No tags for this container"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@@ -580,7 +556,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@@ -596,11 +572,11 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr ""
@@ -612,35 +588,30 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@@ -661,19 +632,18 @@ msgstr ""
msgid "New password"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@@ -689,36 +659,31 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr ""
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@@ -789,14 +754,14 @@ msgstr ""
msgid "Ammo types"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr ""
@@ -865,7 +830,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr ""
@@ -881,7 +846,7 @@ msgid "This ammo is not in a container"
msgstr ""
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -910,12 +875,13 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -925,7 +891,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -948,7 +914,9 @@ msgstr ""
msgid "Rounds"
msgstr ""
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -958,7 +926,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -968,7 +936,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:"
msgstr ""
@@ -978,7 +946,7 @@ msgstr ""
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -988,7 +956,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:"
msgstr ""
@@ -1002,3 +970,115 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Blank:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet core:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Caliber:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Cartridge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Case material:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Corrosive:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Firing type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Grains:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Incendiary:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Jacket type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Manufacturer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Muzzle velocity:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder grains per charge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Pressure:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Primer type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Tracer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format, fuzzy
+msgid "UPC:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Edit %{ammo_type_name}"
+msgstr ""
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index d13435b6..f3dd77c7 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "el Contenedor debe estar vació antes de borrarlo"
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "No se pudo eliminar %{name}: %{error}"
diff --git a/priv/gettext/es/LC_MESSAGES/prompts.po b/priv/gettext/es/LC_MESSAGES/prompts.po
index 357543bf..153289b4 100644
--- a/priv/gettext/es/LC_MESSAGES/prompts.po
+++ b/priv/gettext/es/LC_MESSAGES/prompts.po
@@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} creado exitosamente"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activado exitosamente"
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} ha sido borrado"
@@ -100,7 +100,7 @@ msgstr "Está seguro que desea eliminar %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Está seguro que quiere eliminar la invitación para %{name}?"
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -192,7 +192,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} añadido exitosamente"
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "se ha removido %{tag_name} de %{container_name}"
diff --git a/priv/gettext/fr/LC_MESSAGES/actions.po b/priv/gettext/fr/LC_MESSAGES/actions.po
index f3862d05..ba128c5b 100644
--- a/priv/gettext/fr/LC_MESSAGES/actions.po
+++ b/priv/gettext/fr/LC_MESSAGES/actions.po
@@ -169,7 +169,7 @@ 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.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index a6ff859f..f0a39033 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -52,18 +52,12 @@ msgstr "Administrateur·ices :"
msgid "Ammo"
msgstr "Munition"
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr "Type de munition"
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr "Prix acheté moyen"
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -71,7 +65,6 @@ msgstr "Couleur de fond"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr "Vide"
@@ -83,42 +76,37 @@ msgstr "Cuivre"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr "Noyau de balle"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr "Type de balle"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr "Calibre"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr "Cartouche"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr "Matériau de la caisse"
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr "Conteneur"
@@ -133,13 +121,12 @@ msgstr "Conteneurs"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr "Corrosive"
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr "Quantité"
@@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr "Éditer le groupe de munition"
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr "Éditer le type de munition"
@@ -201,14 +187,12 @@ msgstr "FMJ"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr "Graines"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr "Incendiaire"
@@ -260,7 +244,6 @@ msgstr "Chargeur, lame-chargeur, boite de munition, etc."
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr "Fabricant"
@@ -339,6 +322,7 @@ msgid "No tags"
msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -360,13 +344,12 @@ msgstr "Sur l’étagère"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr "Pression"
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr "Prix payé"
@@ -378,7 +361,6 @@ msgstr "Prix payé :"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr "Type d’amorce"
@@ -406,11 +388,6 @@ msgstr ""
msgid "Settings"
msgstr "Paramètres"
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr "Montrer le type de munition"
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -453,7 +430,6 @@ msgstr "Le site web de suivi d’arme à feux auto-hébergé"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr "Traceuse"
@@ -501,8 +477,8 @@ msgstr "Vos données restent avec vous, point final"
msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur"
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr "Portée"
@@ -584,7 +560,7 @@ msgstr "Enregistrements de tir"
msgid "Move Ammo group"
msgstr "Déplacer le groupe de munition"
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr "Déplacer munition"
@@ -600,11 +576,11 @@ msgid "Shot log"
msgstr "Évènements de tir"
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr "%{amount} $"
@@ -616,35 +592,30 @@ msgstr "Bi-métal"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr "Type de douille"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr "Vélocité du canon"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr "Graines de poudre par charge"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr "Type de poudre"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr "UPC"
@@ -665,19 +636,18 @@ msgstr "Mot de passe actuel"
msgid "New password"
msgstr "Nouveau mot de passe"
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr "Sélectionné"
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr "Désélectionner"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr "Type d’allumage"
@@ -693,36 +663,31 @@ msgid "Loading..."
msgstr "Chargement en cours…"
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "Éditer %{name}"
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr "Éditer les tags de %{name}"
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr "Cartouches :"
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr "Montrer %{name}"
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr "Aucune information de prix"
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr "% restante"
@@ -793,14 +758,14 @@ msgstr "Exemplaires"
msgid "Ammo types"
msgstr "Types de munition"
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr "Ajouté le"
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr "Ajouté le :"
@@ -869,7 +834,7 @@ msgstr "Éditer le type de munition"
msgid "Move Ammo"
msgstr "Déplacer munition"
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container"
msgstr "Aucun groupe de munition pour ce conteneur"
@@ -885,7 +850,7 @@ msgid "This ammo is not in a container"
msgstr "Ce groupe de munition n’est pas dans un conteneur"
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -915,12 +880,13 @@ msgstr "Conteneur"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -930,7 +896,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -953,7 +919,9 @@ msgstr "Packages :"
msgid "Rounds"
msgstr "Cartouches :"
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -963,7 +931,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -973,7 +941,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr "Quantité de cartouches"
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:"
msgstr "Nombre totale de cartouches tirées :"
@@ -983,7 +951,7 @@ msgstr "Nombre totale de cartouches tirées :"
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -993,7 +961,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:"
msgstr ""
@@ -1007,3 +975,115 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Cartouches tirées"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Blank:"
+msgstr "Vide"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet core:"
+msgstr "Noyau de balle"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet type:"
+msgstr "Type de balle"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Caliber:"
+msgstr "Calibre"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Cartridge:"
+msgstr "Cartouche"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Case material:"
+msgstr "Matériau de la caisse"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Corrosive:"
+msgstr "Corrosive"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Firing type:"
+msgstr "Type d’allumage"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Grains:"
+msgstr "Graines"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Incendiary:"
+msgstr "Incendiaire"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Jacket type:"
+msgstr "Type de douille"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Manufacturer:"
+msgstr "Fabricant"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Muzzle velocity:"
+msgstr "Vélocité du canon"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder grains per charge:"
+msgstr "Graines de poudre par charge"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder type:"
+msgstr "Type de poudre"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Pressure:"
+msgstr "Pression"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Primer type:"
+msgstr "Type d’amorce"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Tracer:"
+msgstr "Traceuse"
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format, fuzzy
+msgid "UPC:"
+msgstr "UPC"
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Edit %{ammo_type_name}"
+msgstr "Éditer %{name}"
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index 1b7d0bbe..b09effb0 100644
--- a/priv/gettext/fr/LC_MESSAGES/errors.po
+++ b/priv/gettext/fr/LC_MESSAGES/errors.po
@@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé"
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Impossible de supprimer %{name} : %{error}"
diff --git a/priv/gettext/fr/LC_MESSAGES/prompts.po b/priv/gettext/fr/LC_MESSAGES/prompts.po
index 4f2deb51..5abad53f 100644
--- a/priv/gettext/fr/LC_MESSAGES/prompts.po
+++ b/priv/gettext/fr/LC_MESSAGES/prompts.po
@@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} créé· avec succès"
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activé·e avec succès"
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr "%{name} a été supprimé·e"
@@ -101,7 +101,7 @@ msgstr "Êtes-vous certain·e de supprimer %{name} ?"
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?"
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -194,7 +194,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr "%{name} a été ajouté avec succès"
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} a été retiré de %{container_name}"
diff --git a/priv/gettext/ga/LC_MESSAGES/actions.po b/priv/gettext/ga/LC_MESSAGES/actions.po
index b17f7756..b0d22659 100644
--- a/priv/gettext/ga/LC_MESSAGES/actions.po
+++ b/priv/gettext/ga/LC_MESSAGES/actions.po
@@ -167,7 +167,7 @@ msgstr ""
msgid "Why not get some ready to shoot?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:199
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format
@@ -244,11 +244,6 @@ msgstr ""
msgid "Set Unlimited"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:97
-#, elixir-autogen, elixir-format
-msgid "Show used"
-msgstr ""
-
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/ga/LC_MESSAGES/default.po b/priv/gettext/ga/LC_MESSAGES/default.po
index 4f8796fc..02523a14 100644
--- a/priv/gettext/ga/LC_MESSAGES/default.po
+++ b/priv/gettext/ga/LC_MESSAGES/default.po
@@ -48,18 +48,12 @@ msgstr ""
msgid "Ammo"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:94
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21
-#: lib/cannery_web/live/ammo_group_live/index.ex:99
#, elixir-autogen, elixir-format
msgid "Ammo type"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/index.ex:137
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
-#, elixir-autogen, elixir-format
-msgid "Average Price paid"
-msgstr ""
-
#: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format
msgid "Background color"
@@ -67,7 +61,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format
msgid "Blank"
msgstr ""
@@ -79,42 +72,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format
msgid "Bullet core"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37
#: lib/cannery_web/live/ammo_type_live/index.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format
msgid "Bullet type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58
#: lib/cannery_web/live/ammo_type_live/index.ex:66
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format
msgid "Caliber"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51
#: lib/cannery_web/live/ammo_type_live/index.ex:65
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format
msgid "Cartridge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65
#: lib/cannery_web/live/ammo_type_live/index.ex:67
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format
msgid "Case material"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:48
-#: lib/cannery_web/live/ammo_group_live/index.ex:104
#, elixir-autogen, elixir-format
msgid "Container"
msgstr ""
@@ -129,13 +117,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144
#: lib/cannery_web/live/ammo_type_live/index.ex:83
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format
msgid "Corrosive"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
-#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format
msgid "Count"
msgstr ""
@@ -170,7 +157,6 @@ msgid "Edit Ammo group"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:23
-#: lib/cannery_web/live/ammo_type_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "Edit Ammo type"
msgstr ""
@@ -197,14 +183,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format
msgid "Grains"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136
#: lib/cannery_web/live/ammo_type_live/index.ex:81
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format
msgid "Incendiary"
msgstr ""
@@ -256,7 +240,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format
msgid "Manufacturer"
msgstr ""
@@ -335,6 +318,7 @@ msgid "No tags"
msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37
+#: lib/cannery_web/components/ammo_group_table_component.ex:86
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29
@@ -356,13 +340,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111
#: lib/cannery_web/live/ammo_type_live/index.ex:77
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format
msgid "Pressure"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:84
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34
-#: lib/cannery_web/live/ammo_group_live/index.ex:101
#, elixir-autogen, elixir-format
msgid "Price paid"
msgstr ""
@@ -374,7 +357,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118
#: lib/cannery_web/live/ammo_type_live/index.ex:78
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format
msgid "Primer type"
msgstr ""
@@ -400,11 +382,6 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.ex:62
-#, elixir-autogen, elixir-format
-msgid "Show Ammo type"
-msgstr ""
-
#: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format
msgid "Simple:"
@@ -445,7 +422,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format
msgid "Tracer"
msgstr ""
@@ -493,8 +469,8 @@ msgstr ""
msgid "No tags for this container"
msgstr ""
+#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81
-#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format
msgid "Range"
msgstr ""
@@ -576,7 +552,7 @@ msgstr ""
msgid "Move Ammo group"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:270
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Move ammo"
msgstr ""
@@ -592,11 +568,11 @@ msgid "Shot log"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63
-#: lib/cannery_web/live/ammo_group_live/index.ex:154
+#: lib/cannery_web/components/ammo_group_table_component.ex:157
#: 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:179
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format
msgid "$%{amount}"
msgstr ""
@@ -608,35 +584,30 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72
#: lib/cannery_web/live/ammo_type_live/index.ex:68
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format
msgid "Jacket type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79
#: lib/cannery_web/live/ammo_type_live/index.ex:69
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format
msgid "Muzzle velocity"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93
#: lib/cannery_web/live/ammo_type_live/index.ex:72
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format
msgid "Powder grains per charge"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: lib/cannery_web/live/ammo_type_live/index.ex:70
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format
msgid "Powder type"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152
#: lib/cannery_web/live/ammo_type_live/index.ex:85
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format
msgid "UPC"
msgstr ""
@@ -657,19 +628,18 @@ msgstr ""
msgid "New password"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Stage"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:192
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format
msgid "Unstage"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125
#: lib/cannery_web/live/ammo_type_live/index.ex:79
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format
msgid "Firing type"
msgstr ""
@@ -685,36 +655,31 @@ msgid "Loading..."
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:27
-#: lib/cannery_web/live/container_live/show.ex:106
+#: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65
-#: lib/cannery_web/live/container_live/show.ex:107
+#: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
msgstr ""
#: lib/cannery_web/components/container_card.ex:63
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:81
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format
msgid "Rounds:"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:105
-#, elixir-autogen, elixir-format
-msgid "Show %{name}"
-msgstr ""
-
#: lib/cannery_web/live/ammo_type_live/index.ex:178
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:148
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format
msgid "No cost information"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:102
+#: lib/cannery_web/components/ammo_group_table_component.ex:85
#, elixir-autogen, elixir-format
msgid "% left"
msgstr ""
@@ -785,14 +750,14 @@ msgstr ""
msgid "Ammo types"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:105
+#: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format
msgid "Added on"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49
#: lib/cannery_web/live/ammo_group_live/show.html.heex:30
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:129
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format
msgid "Added on:"
msgstr ""
@@ -861,7 +826,7 @@ msgstr ""
msgid "Move Ammo"
msgstr ""
-#: lib/cannery_web/live/container_live/show.html.heex:105
+#: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "No ammo in this container"
msgstr ""
@@ -877,7 +842,7 @@ msgid "This ammo is not in a container"
msgstr ""
#: lib/cannery_web/components/container_card.ex:58
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:105
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format
msgid "Packs:"
@@ -906,12 +871,13 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:152
+#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:110
+#: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format
msgid "Used up on"
msgstr ""
@@ -921,7 +887,7 @@ msgstr ""
msgid "Used up on:"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:206
+#: lib/cannery_web/components/ammo_group_table_component.ex:193
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format
msgid "%{percentage}%"
@@ -944,7 +910,9 @@ msgstr ""
msgid "Rounds"
msgstr ""
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23
+#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "View as table"
msgstr ""
@@ -954,7 +922,7 @@ msgstr ""
msgid "Total ever packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:121
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format
msgid "Total ever packs:"
msgstr ""
@@ -964,7 +932,7 @@ msgstr ""
msgid "Total ever rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:97
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:"
msgstr ""
@@ -974,7 +942,7 @@ msgstr ""
msgid "Used packs"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:113
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format
msgid "Used packs:"
msgstr ""
@@ -984,7 +952,7 @@ msgstr ""
msgid "Used rounds"
msgstr ""
-#: lib/cannery_web/live/ammo_type_live/show.html.heex:89
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:"
msgstr ""
@@ -998,3 +966,115 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:27
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Blank:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:13
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet core:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:12
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Bullet type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:15
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Caliber:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:14
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Cartridge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:16
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Case material:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Corrosive:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:24
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Firing type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:21
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Grains:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:26
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Incendiary:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:17
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Jacket type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:29
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Manufacturer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:18
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Muzzle velocity:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:20
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder grains per charge:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:19
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Powder type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:22
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Pressure:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:23
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Primer type:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:25
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Tracer:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:30
+#, elixir-autogen, elixir-format, fuzzy
+msgid "UPC:"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/index.ex:137
+#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
+#, elixir-autogen, elixir-format
+msgid "Average CPR"
+msgstr ""
+
+#: lib/cannery_web/live/ammo_type_live/show.ex:117
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Edit %{ammo_type_name}"
+msgstr ""
+
+#: lib/cannery_web/components/ammo_group_card.ex:38
+#: lib/cannery_web/components/ammo_group_table_component.ex:219
+#, elixir-autogen, elixir-format
+msgid "Empty"
+msgstr ""
diff --git a/priv/gettext/ga/LC_MESSAGES/errors.po b/priv/gettext/ga/LC_MESSAGES/errors.po
index 1e400160..f921bf71 100644
--- a/priv/gettext/ga/LC_MESSAGES/errors.po
+++ b/priv/gettext/ga/LC_MESSAGES/errors.po
@@ -30,7 +30,7 @@ msgid "Container must be empty before deleting"
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
#: lib/cannery_web/live/container_live/index.ex:88
-#: lib/cannery_web/live/container_live/show.ex:71
+#: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Ní feidir %{name} a scriosadh: %{error}"
diff --git a/priv/gettext/ga/LC_MESSAGES/prompts.po b/priv/gettext/ga/LC_MESSAGES/prompts.po
index 77c8a642..a004414b 100644
--- a/priv/gettext/ga/LC_MESSAGES/prompts.po
+++ b/priv/gettext/ga/LC_MESSAGES/prompts.po
@@ -30,7 +30,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -49,7 +49,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@@ -96,7 +96,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -183,7 +183,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
diff --git a/priv/gettext/prompts.pot b/priv/gettext/prompts.pot
index d69951a4..076897a3 100644
--- a/priv/gettext/prompts.pot
+++ b/priv/gettext/prompts.pot
@@ -19,7 +19,7 @@ msgid "%{name} created successfully"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47
-#: lib/cannery_web/live/ammo_type_live/show.ex:28
+#: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53
#: lib/cannery_web/live/invite_live/index.ex:133
#: lib/cannery_web/live/tag_live/index.ex:38
@@ -38,7 +38,7 @@ msgid "%{name} enabled succesfully"
msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81
-#: lib/cannery_web/live/container_live/show.ex:61
+#: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
msgstr ""
@@ -85,7 +85,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?"
msgstr ""
-#: lib/cannery_web/live/ammo_group_live/index.ex:242
+#: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?"
@@ -172,7 +172,7 @@ msgstr ""
msgid "%{name} added successfully"
msgstr ""
-#: lib/cannery_web/live/container_live/show.ex:37
+#: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}"
msgstr ""
diff --git a/test/cannery_web/live/ammo_type_live_test.exs b/test/cannery_web/live/ammo_type_live_test.exs
index 310b14f8..982b4557 100644
--- a/test/cannery_web/live/ammo_type_live_test.exs
+++ b/test/cannery_web/live/ammo_type_live_test.exs
@@ -184,9 +184,9 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Index with ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group]
- test "shows additional ammo type info on toggle",
+ test "shows used ammo groups on toggle",
%{conn: conn, ammo_group: ammo_group, current_user: current_user} do
- {:ok, show_live, html} = live(conn, Routes.ammo_type_index_path(conn, :index))
+ {:ok, index_live, html} = live(conn, Routes.ammo_type_index_path(conn, :index))
assert html =~ dgettext("actions", "Show used")
refute html =~ gettext("Used rounds")
@@ -194,7 +194,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
refute html =~ gettext("Used packs")
refute html =~ gettext("Total ever packs")
- html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
+ html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ gettext("Used rounds")
assert html =~ gettext("Total ever rounds")
@@ -207,8 +207,8 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
shot_group_fixture(%{"count" => 5}, current_user, ammo_group)
- {:ok, show_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
- html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
+ {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
+ html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ "15"
assert html =~ "5"
@@ -218,19 +218,22 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Show ammo type" do
setup [:register_and_log_in_user, :create_ammo_type]
- test "displays ammo_type", %{conn: conn, ammo_type: ammo_type} do
+ test "displays ammo_type", %{
+ conn: conn,
+ ammo_type: %{name: name, bullet_type: bullet_type} = ammo_type
+ } do
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
- assert html =~ gettext("Show Ammo type")
- assert html =~ ammo_type.bullet_type
+ assert html =~ name
+ assert html =~ bullet_type
end
test "updates ammo_type within modal",
- %{conn: conn, current_user: current_user, ammo_type: ammo_type} 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() =~
- gettext("Edit Ammo type")
+ gettext("Edit %{ammo_type_name}", ammo_type_name: name)
assert_patch(show_live, Routes.ammo_type_show_path(conn, :edit, ammo_type))
@@ -253,20 +256,35 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Show ammo type with ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group]
- test "displays ammo group", %{conn: conn, ammo_type: ammo_type, container: container} do
+ test "displays ammo group", %{
+ conn: conn,
+ ammo_type: %{name: ammo_type_name} = ammo_type,
+ container: %{name: container_name}
+ } do
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
- assert html =~ gettext("Show Ammo type")
+ assert html =~ ammo_type_name
assert html =~ "some ammo group"
- assert html =~ container.name
+ assert html =~ container_name
+ end
+
+ test "displays ammo group in table",
+ %{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()
+ assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
+
+ assert html =~ "some ammo group"
+ assert html =~ container_name
end
end
describe "Show ammo type with empty ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_empty_ammo_group]
- test "hides empty ammo groups by default",
- %{conn: conn, ammo_type: ammo_type} do
+ test "displays empty ammo groups on toggle",
+ %{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))
assert html =~ dgettext("actions", "Show used")
@@ -276,6 +294,24 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
assert html =~ "some ammo group"
assert html =~ "Empty"
+ assert html =~ container_name
+ end
+
+ test "displays empty ammo groups in table on toggle",
+ %{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()
+ 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()
+
+ assert html =~ "some ammo group"
+ assert html =~ "Empty"
+ assert html =~ container_name
end
end
end
diff --git a/test/cannery_web/live/container_live_test.exs b/test/cannery_web/live/container_live_test.exs
index f5be2994..cdfef106 100644
--- a/test/cannery_web/live/container_live_test.exs
+++ b/test/cannery_web/live/container_live_test.exs
@@ -46,13 +46,20 @@ defmodule CanneryWeb.ContainerLiveTest do
%{container: container}
end
+ defp create_ammo_group(%{container: container, current_user: current_user}) do
+ ammo_type = ammo_type_fixture(@ammo_type_attrs, current_user)
+ {1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
+
+ %{ammo_type: ammo_type, ammo_group: ammo_group}
+ end
+
defp create_empty_ammo_group(%{container: container, current_user: current_user}) do
ammo_type = ammo_type_fixture(@ammo_type_attrs, current_user)
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
shot_group = shot_group_fixture(@shot_group_attrs, current_user, ammo_group)
ammo_group = ammo_group |> Repo.reload!()
- %{ammo_group: ammo_group, shot_group: shot_group}
+ %{ammo_type: ammo_type, ammo_group: ammo_group, shot_group: shot_group}
end
describe "Index regular" do
@@ -306,11 +313,14 @@ defmodule CanneryWeb.ContainerLiveTest do
describe "Show" do
setup [:register_and_log_in_user, :create_container]
- test "displays container", %{conn: conn, container: container} do
+ test "displays container", %{
+ conn: conn,
+ container: %{name: name, location: location} = container
+ } do
{:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
- assert html =~ gettext("Show %{name}", name: container.name)
- assert html =~ container.location
+ assert html =~ name
+ assert html =~ location
end
test "updates container within modal", %{
@@ -341,11 +351,34 @@ defmodule CanneryWeb.ContainerLiveTest do
end
end
+ describe "Show with ammo group" do
+ setup [:register_and_log_in_user, :create_container, :create_ammo_group]
+
+ test "displays ammo group",
+ %{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
+ {:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
+
+ assert html =~ ammo_type_name
+ assert html =~ "some ammo group"
+ end
+
+ test "displays ammo group in table",
+ %{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()
+ assert_patch(show_live, Routes.container_show_path(conn, :table, container))
+
+ assert html =~ ammo_type_name
+ assert html =~ "some ammo group"
+ end
+ end
+
describe "Show with empty ammo group" do
setup [:register_and_log_in_user, :create_container, :create_empty_ammo_group]
test "hides empty ammo groups by default",
- %{conn: conn, container: container} 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))
assert html =~ dgettext("actions", "Show used")
@@ -353,6 +386,24 @@ defmodule CanneryWeb.ContainerLiveTest do
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
+ assert html =~ ammo_type_name
+ assert html =~ "some ammo group"
+ assert html =~ "Empty"
+ end
+
+ test "displays empty ammo groups in table on toggle",
+ %{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()
+ assert_patch(show_live, Routes.container_show_path(conn, :table, container))
+
+ assert html =~ dgettext("actions", "Show used")
+ refute html =~ "some ammo group"
+
+ html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
+
+ assert html =~ ammo_type_name
assert html =~ "some ammo group"
assert html =~ "Empty"
end