diff --git a/lib/cannery_web/components/container_table_component.ex b/lib/cannery_web/components/container_table_component.ex
new file mode 100644
index 00000000..cbed7b20
--- /dev/null
+++ b/lib/cannery_web/components/container_table_component.ex
@@ -0,0 +1,157 @@
+defmodule CanneryWeb.Components.ContainerTableComponent do
+ @moduledoc """
+ A component that displays a list of containers
+ """
+ use CanneryWeb, :live_component
+ alias Cannery.{Accounts.User, Containers, Containers.Container, Repo}
+ alias CanneryWeb.Components.TagCard
+ alias Ecto.UUID
+ alias Phoenix.LiveView.{Rendered, Socket}
+
+ @impl true
+ @spec update(
+ %{
+ required(:id) => UUID.t(),
+ required(:current_user) => User.t(),
+ optional(:containers) => [Container.t()],
+ optional(:tag_actions) => Rendered.t(),
+ optional(:actions) => Rendered.t(),
+ optional(any()) => any()
+ },
+ Socket.t()
+ ) :: {:ok, Socket.t()}
+ def update(%{id: _id, containers: _containers, current_user: _current_user} = assigns, socket) do
+ socket =
+ socket
+ |> assign(assigns)
+ |> assign_new(:tag_actions, fn -> [] end)
+ |> assign_new(:actions, fn -> [] end)
+ |> display_containers()
+
+ {:ok, socket}
+ end
+
+ defp display_containers(
+ %{
+ assigns: %{
+ containers: containers,
+ current_user: current_user,
+ tag_actions: tag_actions,
+ actions: actions
+ }
+ } = socket
+ ) do
+ columns =
+ [
+ %{label: gettext("Name"), key: :name, type: :string},
+ %{label: gettext("Description"), key: :desc, type: :string},
+ %{label: gettext("Location"), key: :location, type: :string},
+ %{label: gettext("Type"), key: :type, type: :string},
+ %{label: gettext("Packs"), key: :packs, type: :integer},
+ %{label: gettext("Rounds"), key: :rounds, type: :string},
+ %{label: gettext("Tags"), key: :tags, type: :tags},
+ %{label: nil, key: :actions, sortable: false, type: :actions}
+ ]
+ |> Enum.filter(fn %{key: key, type: type} ->
+ # remove columns if all values match defaults
+ default_value =
+ case type do
+ :boolean -> false
+ _other_type -> nil
+ end
+
+ containers
+ |> Enum.any?(fn container ->
+ type in [:tags, :actions] or not (container |> Map.get(key) == default_value)
+ end)
+ end)
+
+ rows =
+ containers
+ |> Enum.map(fn container ->
+ container
+ |> get_row_data_for_container(columns, %{
+ current_user: current_user,
+ tag_actions: tag_actions,
+ actions: actions
+ })
+ end)
+
+ socket
+ |> assign(
+ columns: columns,
+ rows: rows
+ )
+ end
+
+ @impl true
+ def render(assigns) do
+ ~H"""
+
+ <.live_component
+ module={CanneryWeb.Components.TableComponent}
+ id={"table-#{@id}"}
+ columns={@columns}
+ rows={@rows}
+ />
+
+ """
+ end
+
+ @spec get_row_data_for_container(Container.t(), columns :: [map()], extra_data :: map) :: map()
+ defp get_row_data_for_container(container, columns, extra_data) do
+ container = container |> Repo.preload([:ammo_groups, :tags])
+
+ columns
+ |> Map.new(fn %{key: key} -> {key, get_value_for_key(key, container, extra_data)} end)
+ end
+
+ @spec get_value_for_key(atom(), Container.t(), extra_data :: map) :: any()
+ defp get_value_for_key(:name, %{id: id, name: container_name}, _extra_data) do
+ assigns = %{id: id, container_name: container_name}
+
+ {container_name,
+ ~H"""
+
+ <.link navigate={Routes.container_show_path(Endpoint, :show, @id)} class="link">
+ <%= @container_name %>
+
+
+ """}
+ end
+
+ defp get_value_for_key(:packs, container, _extra_data) do
+ container |> Containers.get_container_ammo_group_count!()
+ end
+
+ defp get_value_for_key(:rounds, container, _extra_data) do
+ container |> Containers.get_container_rounds!()
+ end
+
+ defp get_value_for_key(:tags, container, %{tag_actions: tag_actions}) do
+ assigns = %{tag_actions: tag_actions, container: container}
+
+ {container.tags |> Enum.map(fn %{name: name} -> name end),
+ ~H"""
+
+ <%= unless @container.tags |> Enum.empty?() do %>
+ <%= for tag <- @container.tags do %>
+
+ <% end %>
+ <% end %>
+
+ <%= render_slot(@tag_actions, @container) %>
+
+ """}
+ end
+
+ defp get_value_for_key(:actions, container, %{actions: actions}) do
+ assigns = %{actions: actions, container: container}
+
+ ~H"""
+ <%= render_slot(@actions, @container) %>
+ """
+ end
+
+ defp get_value_for_key(key, container, _extra_data), do: container |> Map.get(key)
+end
diff --git a/lib/cannery_web/live/container_live/index.ex b/lib/cannery_web/live/container_live/index.ex
index 059a595c..73679bdf 100644
--- a/lib/cannery_web/live/container_live/index.ex
+++ b/lib/cannery_web/live/container_live/index.ex
@@ -6,7 +6,6 @@ defmodule CanneryWeb.ContainerLive.Index do
use CanneryWeb, :live_view
import CanneryWeb.Components.ContainerCard
alias Cannery.{Containers, Containers.Container, Repo}
- alias CanneryWeb.{Components.TagCard, Endpoint}
alias Ecto.Changeset
@impl true
@@ -124,133 +123,9 @@ defmodule CanneryWeb.ContainerLive.Index do
defp display_containers(%{assigns: %{search: search, current_user: current_user}} = socket) do
containers =
- Containers.list_containers(search, current_user) |> Repo.preload([:tags, :ammo_groups])
+ Containers.list_containers(search, current_user)
+ |> Repo.preload([:tags, :ammo_groups])
- columns =
- [
- %{label: gettext("Name"), key: :name, type: :string},
- %{label: gettext("Description"), key: :desc, type: :string},
- %{label: gettext("Location"), key: :location, type: :string},
- %{label: gettext("Type"), key: :type, type: :string},
- %{label: gettext("Packs"), key: :packs, type: :integer},
- %{label: gettext("Rounds"), key: :rounds, type: :string},
- %{label: gettext("Tags"), key: :tags, type: :tags},
- %{label: nil, key: :actions, sortable: false, type: :actions}
- ]
- |> Enum.filter(fn %{key: key, type: type} ->
- # remove columns if all values match defaults
- default_value =
- case type do
- :boolean -> false
- _other_type -> nil
- end
-
- containers
- |> Enum.any?(fn container ->
- type in [:tags, :actions] or not (container |> Map.get(key) == default_value)
- end)
- end)
-
- rows =
- containers
- |> Enum.map(fn container -> container |> get_row_data_for_container(columns) end)
-
- socket
- |> assign(
- containers: containers,
- columns: columns,
- rows: rows
- )
+ socket |> assign(:containers, containers)
end
-
- @spec get_row_data_for_container(Container.t(), [map()]) :: map()
- defp get_row_data_for_container(container, columns) do
- container = container |> Repo.preload([:ammo_groups, :tags])
-
- columns
- |> Map.new(fn %{key: key} -> {key, get_value_for_key(key, container)} end)
- end
-
- @spec get_value_for_key(atom(), Container.t()) :: any()
- defp get_value_for_key(:name, %{id: id, name: container_name}) do
- assigns = %{id: id, container_name: container_name}
-
- {container_name,
- ~H"""
-
- <.link navigate={Routes.container_show_path(Endpoint, :show, @id)} class="link">
- <%= @container_name %>
-
-
- """}
- end
-
- defp get_value_for_key(:packs, container) do
- container |> Containers.get_container_ammo_group_count!()
- end
-
- defp get_value_for_key(:rounds, container) do
- container |> Containers.get_container_rounds!()
- end
-
- defp get_value_for_key(:tags, container) do
- assigns = %{container: container}
-
- {container.tags |> Enum.map(fn %{name: name} -> name end),
- ~H"""
-
- <%= unless @container.tags |> Enum.empty?() do %>
- <%= for tag <- @container.tags do %>
-
- <% end %>
- <% end %>
-
-
- <.link
- patch={Routes.container_index_path(Endpoint, :edit_tags, @container)}
- class="text-primary-600 link"
- >
-
-
-
-
- """}
- end
-
- defp get_value_for_key(:actions, container) do
- assigns = %{container: container}
-
- ~H"""
- <.link
- patch={Routes.container_index_path(Endpoint, :edit, @container)}
- class="text-primary-600 link"
- data-qa={"edit-#{@container.id}"}
- >
-
-
-
- <.link
- patch={Routes.container_index_path(Endpoint, :clone, @container)}
- class="text-primary-600 link"
- data-qa={"clone-#{@container.id}"}
- >
-
-
-
- <.link
- href="#"
- class="text-primary-600 link"
- phx-click="delete"
- phx-value-id={@container.id}
- data-confirm={
- dgettext("prompts", "Are you sure you want to delete %{name}?", name: @container.name)
- }
- data-qa={"delete-#{@container.id}"}
- >
-
-
- """
- end
-
- defp get_value_for_key(key, container), do: container |> Map.get(key)
end
diff --git a/lib/cannery_web/live/container_live/index.html.heex b/lib/cannery_web/live/container_live/index.html.heex
index f75aece9..ee3972ed 100644
--- a/lib/cannery_web/live/container_live/index.html.heex
+++ b/lib/cannery_web/live/container_live/index.html.heex
@@ -51,12 +51,55 @@
<% else %>
<%= if @view_table do %>
<.live_component
- module={CanneryWeb.Components.TableComponent}
+ module={CanneryWeb.Components.ContainerTableComponent}
id="containers_index_table"
action={@live_action}
- columns={@columns}
- rows={@rows}
- />
+ containers={@containers}
+ current_user={@current_user}
+ >
+ <:tag_actions :let={container}>
+
+ <.link
+ patch={Routes.container_index_path(Endpoint, :edit_tags, container)}
+ class="text-primary-600 link"
+ >
+
+
+
+
+ <:actions :let={container}>
+ <.link
+ patch={Routes.container_index_path(Endpoint, :edit, container)}
+ class="text-primary-600 link"
+ data-qa={"edit-#{container.id}"}
+ >
+
+
+
+ <.link
+ patch={Routes.container_index_path(Endpoint, :clone, container)}
+ class="text-primary-600 link"
+ data-qa={"clone-#{container.id}"}
+ >
+
+
+
+ <.link
+ href="#"
+ class="text-primary-600 link"
+ phx-click="delete"
+ phx-value-id={container.id}
+ data-confirm={
+ dgettext("prompts", "Are you sure you want to delete %{name}?",
+ name: container.name
+ )
+ }
+ data-qa={"delete-#{container.id}"}
+ >
+
+
+
+
<% else %>
<%= for container <- @containers do %>
<.container_card container={container}>
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index 0853b9e6..9e00fa63 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -114,8 +114,8 @@ msgid "Container"
msgstr "Behälter"
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -139,9 +139,9 @@ msgstr "Anzahl"
msgid "Count:"
msgstr "Anzahl:"
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Beschreibung"
@@ -216,9 +216,9 @@ msgstr "Einladungen"
msgid "Keep me logged in for 60 days"
msgstr "Für 60 Tage eingeloggt bleiben"
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Standort"
@@ -251,9 +251,9 @@ msgid "My cool ammo can"
msgstr "Meine coole Munitionskiste"
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -266,8 +266,8 @@ msgstr "Name"
msgid "New Ammo type"
msgstr "Neuer Munitionstyp"
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr "Neuer Behälter"
@@ -392,8 +392,8 @@ msgstr "Stahl"
msgid "Stored in"
msgstr "Gelagert in"
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -421,9 +421,9 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
msgid "Tracer"
msgstr "Leuchtspur"
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr "Art"
@@ -638,13 +638,13 @@ msgstr "Neu verbinden..."
msgid "Loading..."
msgstr "Lädt..."
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "%{name} bearbeiten"
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -864,13 +864,13 @@ msgid "Rounds shot: %{count}"
msgstr "Patronen abgefeuert"
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr "Patronen:"
diff --git a/priv/gettext/de/LC_MESSAGES/errors.po b/priv/gettext/de/LC_MESSAGES/errors.po
index e5677a7b..05b6faf8 100644
--- a/priv/gettext/de/LC_MESSAGES/errors.po
+++ b/priv/gettext/de/LC_MESSAGES/errors.po
@@ -28,13 +28,13 @@ msgstr ""
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:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Konnte %{name} nicht löschen: %{error}"
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr "Konnte Behälter nicht finden"
diff --git a/priv/gettext/de/LC_MESSAGES/prompts.po b/priv/gettext/de/LC_MESSAGES/prompts.po
index a3693fff..bd434ef3 100644
--- a/priv/gettext/de/LC_MESSAGES/prompts.po
+++ b/priv/gettext/de/LC_MESSAGES/prompts.po
@@ -50,7 +50,7 @@ msgstr "%{name} erfolgreich deaktiviert"
msgid "%{name} enabled succesfully"
msgstr "%{name} erfolgreich aktiviert"
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -82,8 +82,8 @@ msgstr ""
"Sind Sie sicher, dass sie %{email} löschen möchten? Dies kann nicht "
"zurückgenommen werden!"
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index e1843a9f..faea5dc1 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -99,8 +99,8 @@ msgid "Container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -124,9 +124,9 @@ msgstr ""
msgid "Count:"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@@ -201,9 +201,9 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@@ -236,9 +236,9 @@ msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -251,8 +251,8 @@ msgstr ""
msgid "New Ammo type"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr ""
@@ -375,8 +375,8 @@ msgstr ""
msgid "Stored in"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -404,9 +404,9 @@ msgstr ""
msgid "Tracer"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@@ -621,13 +621,13 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -847,13 +847,13 @@ msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format
msgid "Rounds"
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 1cf87773..de579776 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -100,8 +100,8 @@ msgid "Container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -125,9 +125,9 @@ msgstr ""
msgid "Count:"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@@ -202,9 +202,9 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@@ -237,9 +237,9 @@ msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -252,8 +252,8 @@ msgstr ""
msgid "New Ammo type"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr ""
@@ -376,8 +376,8 @@ msgstr ""
msgid "Stored in"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -405,9 +405,9 @@ msgstr ""
msgid "Tracer"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@@ -622,13 +622,13 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -848,13 +848,13 @@ msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/errors.po b/priv/gettext/en/LC_MESSAGES/errors.po
index 3cd1edcc..6fe8c69b 100644
--- a/priv/gettext/en/LC_MESSAGES/errors.po
+++ b/priv/gettext/en/LC_MESSAGES/errors.po
@@ -15,13 +15,13 @@ msgstr ""
msgid "Container must be empty before deleting"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/prompts.po b/priv/gettext/en/LC_MESSAGES/prompts.po
index ce7e70c5..642fcb55 100644
--- a/priv/gettext/en/LC_MESSAGES/prompts.po
+++ b/priv/gettext/en/LC_MESSAGES/prompts.po
@@ -38,7 +38,7 @@ msgstr ""
msgid "%{name} enabled succesfully"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -68,8 +68,8 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index f3e9244e..53ce57b2 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -15,13 +15,13 @@ msgstr ""
msgid "Container must be empty before deleting"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index ca98e5b6..13e5d807 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -114,8 +114,8 @@ msgid "Container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -139,9 +139,9 @@ msgstr ""
msgid "Count:"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@@ -216,9 +216,9 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@@ -251,9 +251,9 @@ msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -266,8 +266,8 @@ msgstr ""
msgid "New Ammo type"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr ""
@@ -390,8 +390,8 @@ msgstr ""
msgid "Stored in"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -419,9 +419,9 @@ msgstr ""
msgid "Tracer"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@@ -636,13 +636,13 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -862,13 +862,13 @@ msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/errors.po b/priv/gettext/es/LC_MESSAGES/errors.po
index a215d3d5..78010b50 100644
--- a/priv/gettext/es/LC_MESSAGES/errors.po
+++ b/priv/gettext/es/LC_MESSAGES/errors.po
@@ -28,13 +28,13 @@ msgstr ""
msgid "Container must be empty before deleting"
msgstr "El contenedor debe estar vacío antes de ser borrado"
-#: lib/cannery_web/live/container_live/index.ex:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "No se pudo eliminar %{name}: %{error}"
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr "No se pudo encontrar el contenedor"
diff --git a/priv/gettext/es/LC_MESSAGES/prompts.po b/priv/gettext/es/LC_MESSAGES/prompts.po
index 52a59e10..6ceb62e5 100644
--- a/priv/gettext/es/LC_MESSAGES/prompts.po
+++ b/priv/gettext/es/LC_MESSAGES/prompts.po
@@ -50,7 +50,7 @@ msgstr "%{name} desactivado exitosamente"
msgid "%{name} enabled succesfully"
msgstr "%{name} activado exitosamente"
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -82,8 +82,8 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr "Está seguro que desea eliminar %{email}? Esta acción es permanente!"
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index 8ca27056..4094642f 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -114,8 +114,8 @@ msgid "Container"
msgstr "Conteneur"
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -139,9 +139,9 @@ msgstr "Quantité"
msgid "Count:"
msgstr "Quantité :"
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr "Description"
@@ -216,9 +216,9 @@ msgstr "Invitations"
msgid "Keep me logged in for 60 days"
msgstr "Me garder authentifié durant 60 jours"
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr "Localisation"
@@ -251,9 +251,9 @@ msgid "My cool ammo can"
msgstr "Ma superbe boite de munition"
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -266,8 +266,8 @@ msgstr "Nom"
msgid "New Ammo type"
msgstr "Nouveau type de munition"
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr "Nouveau conteneur"
@@ -392,8 +392,8 @@ msgstr "Acier"
msgid "Stored in"
msgstr "Est stocké dans"
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -423,9 +423,9 @@ msgstr "Le site web de suivi d’arme à feux auto-hébergé"
msgid "Tracer"
msgstr "Traceuse"
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr "Type"
@@ -640,13 +640,13 @@ msgstr "Reconnexion en cours…"
msgid "Loading..."
msgstr "Chargement en cours…"
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr "Éditer %{name}"
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -867,13 +867,13 @@ msgid "Rounds shot: %{count}"
msgstr "Cartouches tirées"
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr "Packages :"
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr "Cartouches :"
diff --git a/priv/gettext/fr/LC_MESSAGES/errors.po b/priv/gettext/fr/LC_MESSAGES/errors.po
index 69ce2785..897b74c1 100644
--- a/priv/gettext/fr/LC_MESSAGES/errors.po
+++ b/priv/gettext/fr/LC_MESSAGES/errors.po
@@ -28,13 +28,13 @@ msgstr ""
msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé"
-#: lib/cannery_web/live/container_live/index.ex:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Impossible de supprimer %{name} : %{error}"
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr "Impossible de trouver ce conteneur"
diff --git a/priv/gettext/fr/LC_MESSAGES/prompts.po b/priv/gettext/fr/LC_MESSAGES/prompts.po
index 81df77f8..6d553de1 100644
--- a/priv/gettext/fr/LC_MESSAGES/prompts.po
+++ b/priv/gettext/fr/LC_MESSAGES/prompts.po
@@ -50,7 +50,7 @@ msgstr "%{name} supprimé·e avec succès"
msgid "%{name} enabled succesfully"
msgstr "%{name} activé·e avec succès"
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -83,8 +83,8 @@ msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
"Êtes-vous certain·e de supprimer %{email} ? Cette action est définitive !"
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/ga/LC_MESSAGES/default.po b/priv/gettext/ga/LC_MESSAGES/default.po
index ac45165d..c6cf8f68 100644
--- a/priv/gettext/ga/LC_MESSAGES/default.po
+++ b/priv/gettext/ga/LC_MESSAGES/default.po
@@ -110,8 +110,8 @@ msgid "Container"
msgstr ""
#: lib/cannery_web/components/topbar.ex:57
-#: lib/cannery_web/live/container_live/index.ex:50
-#: lib/cannery_web/live/container_live/index.ex:59
+#: lib/cannery_web/live/container_live/index.ex:49
+#: lib/cannery_web/live/container_live/index.ex:58
#: lib/cannery_web/live/container_live/index.html.heex:3
#, elixir-autogen, elixir-format
msgid "Containers"
@@ -135,9 +135,9 @@ msgstr ""
msgid "Count:"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:47
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:24
#: lib/cannery_web/live/container_live/form_component.html.heex:27
-#: lib/cannery_web/live/container_live/index.ex:132
#, elixir-autogen, elixir-format
msgid "Description"
msgstr ""
@@ -212,9 +212,9 @@ msgstr ""
msgid "Keep me logged in for 60 days"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:48
#: lib/cannery_web/components/move_ammo_group_component.ex:69
#: lib/cannery_web/live/container_live/form_component.html.heex:42
-#: lib/cannery_web/live/container_live/index.ex:133
#, elixir-autogen, elixir-format
msgid "Location"
msgstr ""
@@ -247,9 +247,9 @@ msgid "My cool ammo can"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:45
+#: lib/cannery_web/components/container_table_component.ex:46
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:20
#: lib/cannery_web/live/container_live/form_component.html.heex:20
-#: lib/cannery_web/live/container_live/index.ex:131
#: lib/cannery_web/live/invite_live/form_component.html.heex:20
#: lib/cannery_web/live/tag_live/form_component.ex:75
#, elixir-autogen, elixir-format
@@ -262,8 +262,8 @@ msgstr ""
msgid "New Ammo type"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:37
-#: lib/cannery_web/live/container_live/index.ex:44
+#: lib/cannery_web/live/container_live/index.ex:36
+#: lib/cannery_web/live/container_live/index.ex:43
#, elixir-autogen, elixir-format
msgid "New Container"
msgstr ""
@@ -386,8 +386,8 @@ msgstr ""
msgid "Stored in"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:52
#: lib/cannery_web/components/topbar.ex:49
-#: lib/cannery_web/live/container_live/index.ex:137
#: lib/cannery_web/live/tag_live/index.ex:32
#: lib/cannery_web/live/tag_live/index.html.heex:3
#, elixir-autogen, elixir-format
@@ -415,9 +415,9 @@ msgstr ""
msgid "Tracer"
msgstr ""
+#: lib/cannery_web/components/container_table_component.ex:49
#: lib/cannery_web/components/move_ammo_group_component.ex:68
#: lib/cannery_web/live/container_live/form_component.html.heex:35
-#: lib/cannery_web/live/container_live/index.ex:134
#, elixir-autogen, elixir-format
msgid "Type"
msgstr ""
@@ -632,13 +632,13 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:33
+#: lib/cannery_web/live/container_live/index.ex:32
#: lib/cannery_web/live/container_live/show.ex:113
#, elixir-autogen, elixir-format
msgid "Edit %{name}"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:70
+#: lib/cannery_web/live/container_live/index.ex:69
#: lib/cannery_web/live/container_live/show.ex:114
#, elixir-autogen, elixir-format
msgid "Edit %{name} tags"
@@ -858,13 +858,13 @@ msgid "Rounds shot: %{count}"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:100
-#: lib/cannery_web/live/container_live/index.ex:135
+#: lib/cannery_web/components/container_table_component.ex:50
#, elixir-autogen, elixir-format, fuzzy
msgid "Packs"
msgstr ""
#: lib/cannery_web/components/ammo_type_table_component.ex:80
-#: lib/cannery_web/live/container_live/index.ex:136
+#: lib/cannery_web/components/container_table_component.ex:51
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds"
msgstr ""
diff --git a/priv/gettext/ga/LC_MESSAGES/errors.po b/priv/gettext/ga/LC_MESSAGES/errors.po
index 12838c49..46148894 100644
--- a/priv/gettext/ga/LC_MESSAGES/errors.po
+++ b/priv/gettext/ga/LC_MESSAGES/errors.po
@@ -29,13 +29,13 @@ msgstr ""
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:93
+#: lib/cannery_web/live/container_live/index.ex:92
#: lib/cannery_web/live/container_live/show.ex:73
#, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}"
msgstr "Ní feidir %{name} a scriosadh: %{error}"
-#: lib/cannery_web/live/container_live/index.ex:81
+#: lib/cannery_web/live/container_live/index.ex:80
#, elixir-autogen, elixir-format
msgid "Could not find that container"
msgstr "Ní feidir an coimeádán sin a fáil"
diff --git a/priv/gettext/ga/LC_MESSAGES/prompts.po b/priv/gettext/ga/LC_MESSAGES/prompts.po
index 784e75e2..52d8d209 100644
--- a/priv/gettext/ga/LC_MESSAGES/prompts.po
+++ b/priv/gettext/ga/LC_MESSAGES/prompts.po
@@ -48,7 +48,7 @@ msgstr ""
msgid "%{name} enabled succesfully"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -78,8 +78,8 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format
diff --git a/priv/gettext/prompts.pot b/priv/gettext/prompts.pot
index 20a8c740..78dfc924 100644
--- a/priv/gettext/prompts.pot
+++ b/priv/gettext/prompts.pot
@@ -37,7 +37,7 @@ msgstr ""
msgid "%{name} enabled succesfully"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:86
+#: lib/cannery_web/live/container_live/index.ex:85
#: lib/cannery_web/live/container_live/show.ex:63
#, elixir-autogen, elixir-format
msgid "%{name} has been deleted"
@@ -67,8 +67,8 @@ msgstr ""
msgid "Are you sure you want to delete %{email}? This action is permanent!"
msgstr ""
-#: lib/cannery_web/live/container_live/index.ex:246
-#: lib/cannery_web/live/container_live/index.html.heex:95
+#: lib/cannery_web/live/container_live/index.html.heex:93
+#: lib/cannery_web/live/container_live/index.html.heex:138
#: lib/cannery_web/live/container_live/show.html.heex:59
#: lib/cannery_web/live/tag_live/index.html.heex:39
#, elixir-autogen, elixir-format