diff --git a/CHANGELOG.md b/CHANGELOG.md index 672e8b7..4e25466 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ - Add shading to table component - Fix chart to sum by day - Fix whitespace when copying invite url +- Make ammo type show page also display ammo groups as table +- Make container show page also display ammo groups as table # v0.6.0 - Update translations diff --git a/lib/cannery_web/components/ammo_group_card.ex b/lib/cannery_web/components/ammo_group_card.ex index e314126..c78f13c 100644 --- a/lib/cannery_web/components/ammo_group_card.ex +++ b/lib/cannery_web/components/ammo_group_card.ex @@ -35,7 +35,7 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
<%= gettext("Count:") %> - <%= if @ammo_group.count == 0, do: "Empty", else: @ammo_group.count %> + <%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %> <%= if @ammo_group.notes do %> diff --git a/lib/cannery_web/components/ammo_group_table_component.ex b/lib/cannery_web/components/ammo_group_table_component.ex new file mode 100644 index 0000000..d04291c --- /dev/null +++ b/lib/cannery_web/components/ammo_group_table_component.ex @@ -0,0 +1,222 @@ +defmodule CanneryWeb.Components.AmmoGroupTableComponent do + @moduledoc """ + A component that displays a list of ammo groups + """ + use CanneryWeb, :live_component + alias Cannery.{Accounts.User, Ammo, Ammo.AmmoGroup, Repo} + alias Ecto.UUID + alias Phoenix.LiveView.{Rendered, Socket} + + @impl true + @spec update( + %{ + required(:id) => UUID.t(), + required(:current_user) => User.t(), + required(:ammo_groups) => [AmmoGroup.t()], + optional(:show_used) => boolean(), + optional(:ammo_type) => Rendered.t(), + optional(:range) => Rendered.t(), + optional(:container) => Rendered.t(), + optional(:actions) => Rendered.t(), + optional(any()) => any() + }, + Socket.t() + ) :: {:ok, Socket.t()} + def update(%{id: _id, ammo_groups: _ammo_group, current_user: _current_user} = assigns, socket) do + socket = + socket + |> assign(assigns) + |> assign_new(:show_used, fn -> false end) + |> assign_new(:ammo_type, fn -> [] end) + |> assign_new(:range, fn -> [] end) + |> assign_new(:container, fn -> [] end) + |> assign_new(:actions, fn -> [] end) + |> display_ammo_groups() + + {:ok, socket} + end + + defp display_ammo_groups( + %{ + assigns: %{ + ammo_groups: ammo_groups, + current_user: current_user, + show_used: show_used, + ammo_type: ammo_type, + range: range, + container: container, + actions: actions + } + } = socket + ) do + columns = + if actions == [] do + [] + else + [%{label: nil, key: :actions, sortable: false}] + end + + columns = + if show_used do + [%{label: gettext("Used up on"), key: :used_up_on} | columns] + else + columns + end + + columns = [%{label: gettext("Added on"), key: :added_on} | columns] + + columns = + if container == [] do + columns + else + [%{label: gettext("Container"), key: :container} | columns] + end + + columns = + if range == [] do + columns + else + [%{label: gettext("Range"), key: :range} | columns] + end + + columns = [ + %{label: gettext("Count"), key: :count}, + %{label: gettext("Price paid"), key: :price_paid}, + %{label: gettext("% left"), key: :remaining}, + %{label: gettext("Notes"), key: :notes} + | columns + ] + + columns = + if ammo_type == [] do + columns + else + [%{label: gettext("Ammo type"), key: :ammo_type} | columns] + end + + rows = + ammo_groups + |> Repo.preload([:ammo_type, :container]) + |> Enum.map(fn ammo_group -> + ammo_group + |> get_row_data_for_ammo_group(%{ + current_user: current_user, + ammo_type: ammo_type, + columns: columns, + container: container, + actions: actions, + range: range + }) + end) + + socket |> assign(columns: columns, rows: rows) + end + + @impl true + def render(assigns) do + ~H""" +
+ <.live_component + module={CanneryWeb.Components.TableComponent} + id={@id} + columns={@columns} + rows={@rows} + /> +
+ """ + end + + @spec get_row_data_for_ammo_group(AmmoGroup.t(), additional_data :: map()) :: map() + defp get_row_data_for_ammo_group(ammo_group, %{columns: columns} = additional_data) do + ammo_group = ammo_group |> Repo.preload([:ammo_type, :container]) + + columns + |> Map.new(fn %{key: key} -> + {key, get_value_for_key(key, ammo_group, additional_data)} + end) + end + + @spec get_value_for_key(atom(), AmmoGroup.t(), additional_data :: map()) :: + any() | {any(), Rendered.t()} + defp get_value_for_key( + :ammo_type, + %{ammo_type: %{name: ammo_type_name} = ammo_type}, + %{ammo_type: ammo_type_block} + ) do + assigns = %{ammo_type: ammo_type, ammo_type_block: ammo_type_block} + + {ammo_type_name, + ~H""" + <%= render_slot(@ammo_type_block, @ammo_type) %> + """} + end + + defp get_value_for_key(:price_paid, %{price_paid: nil}, _additional_data), do: {"", nil} + + defp get_value_for_key(:price_paid, %{price_paid: price_paid}, _additional_data), + do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2)) + + defp get_value_for_key(:added_on, %{inserted_at: inserted_at}, _additional_data) do + assigns = %{inserted_at: inserted_at} + + {inserted_at, + ~H""" + <%= @inserted_at |> display_datetime() %> + """} + end + + defp get_value_for_key(:used_up_on, ammo_group, _additional_data) do + last_shot_group_date = + case ammo_group |> Ammo.get_last_used_shot_group() do + %{date: last_shot_group_date} -> last_shot_group_date + _no_shot_groups -> nil + end + + assigns = %{last_shot_group_date: last_shot_group_date} + + {last_shot_group_date, + ~H""" + <%= @last_shot_group_date |> display_date() %> + """} + end + + defp get_value_for_key(:range, %{staged: staged} = ammo_group, %{range: range}) do + assigns = %{range: range, ammo_group: ammo_group} + + {staged, + ~H""" + <%= render_slot(@range, @ammo_group) %> + """} + end + + defp get_value_for_key(:remaining, ammo_group, _additional_data), + do: gettext("%{percentage}%", percentage: ammo_group |> Ammo.get_percentage_remaining()) + + defp get_value_for_key(:actions, ammo_group, %{actions: actions}) do + assigns = %{actions: actions, ammo_group: ammo_group} + + ~H""" + <%= render_slot(@actions, @ammo_group) %> + """ + end + + defp get_value_for_key(:container, %{container: nil}, _additional_data), do: {nil, nil} + + defp get_value_for_key( + :container, + %{container: %{name: container_name}} = ammo_group, + %{container: container} + ) do + assigns = %{container: container, ammo_group: ammo_group} + + {container_name, + ~H""" + <%= render_slot(@container, @ammo_group) %> + """} + end + + defp get_value_for_key(:count, %{count: count}, _additional_data), + do: if(count == 0, do: gettext("Empty"), else: count) + + defp get_value_for_key(key, ammo_group, _additional_data), do: ammo_group |> Map.get(key) +end diff --git a/lib/cannery_web/components/move_ammo_group_component.ex b/lib/cannery_web/components/move_ammo_group_component.ex index e341b00..07c49e1 100644 --- a/lib/cannery_web/components/move_ammo_group_component.ex +++ b/lib/cannery_web/components/move_ammo_group_component.ex @@ -106,7 +106,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do containers |> Enum.map(fn container -> columns - |> Enum.into(%{}, fn %{key: key} -> {key, get_row_value_by_key(key, container, assigns)} end) + |> Map.new(fn %{key: key} -> {key, get_row_value_by_key(key, container, assigns)} end) end) end diff --git a/lib/cannery_web/components/table_component.html.heex b/lib/cannery_web/components/table_component.html.heex index d2751f7..bd91298 100644 --- a/lib/cannery_web/components/table_component.html.heex +++ b/lib/cannery_web/components/table_component.html.heex @@ -6,7 +6,7 @@ <%= if column |> Map.get(:sortable, true) do %> Enum.map(fn ammo_group -> ammo_group |> get_row_data_for_ammo_group(columns) end) - socket |> assign( ammo_groups: ammo_groups, ammo_types_count: ammo_types_count, - containers_count: containers_count, - columns: columns, - rows: rows + containers_count: containers_count ) end - - @spec get_row_data_for_ammo_group(AmmoGroup.t(), [map()]) :: [map()] - defp get_row_data_for_ammo_group(ammo_group, columns) do - ammo_group = ammo_group |> Repo.preload([:ammo_type, :container]) - - columns - |> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, ammo_group)} end) - end - - @spec get_value_for_key(atom(), AmmoGroup.t()) :: any() - defp get_value_for_key(:ammo_type, %{ammo_type: ammo_type}) do - assigns = %{ammo_type: ammo_type} - - {ammo_type.name, - ~H""" - <.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link"> - <%= @ammo_type.name %> - - """} - end - - defp get_value_for_key(:price_paid, %{price_paid: nil}), do: {"a", nil} - - defp get_value_for_key(:price_paid, %{price_paid: price_paid}), - do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2)) - - defp get_value_for_key(:added_on, %{inserted_at: inserted_at}) do - assigns = %{inserted_at: inserted_at} - - {inserted_at, - ~H""" - <%= @inserted_at |> display_datetime() %> - """} - end - - defp get_value_for_key(:used_up_on, ammo_group) do - last_shot_group_date = - case ammo_group |> Ammo.get_last_used_shot_group() do - %{date: last_shot_group_date} -> last_shot_group_date - _no_shot_groups -> nil - end - - assigns = %{last_shot_group_date: last_shot_group_date} - - {last_shot_group_date, - ~H""" - <%= @last_shot_group_date |> display_date() %> - """} - end - - defp get_value_for_key(:range, %{staged: staged} = ammo_group) do - assigns = %{ammo_group: ammo_group} - - {staged, - ~H""" -
- - - <.link - patch={Routes.ammo_group_index_path(Endpoint, :add_shot_group, @ammo_group)} - class="mx-2 my-1 text-sm btn btn-primary" - > - <%= dgettext("actions", "Record shots") %> - -
- """} - end - - defp get_value_for_key(:remaining, ammo_group), - do: gettext("%{percentage}%", percentage: ammo_group |> Ammo.get_percentage_remaining()) - - defp get_value_for_key(:actions, ammo_group) do - assigns = %{ammo_group: ammo_group} - - ~H""" -
- <.link - navigate={Routes.ammo_group_show_path(Endpoint, :show, @ammo_group)} - class="text-primary-600 link" - data-qa={"view-#{@ammo_group.id}"} - > - - - - <.link - patch={Routes.ammo_group_index_path(Endpoint, :edit, @ammo_group)} - class="text-primary-600 link" - data-qa={"edit-#{@ammo_group.id}"} - > - - - - <.link - patch={Routes.ammo_group_index_path(Endpoint, :clone, @ammo_group)} - class="text-primary-600 link" - data-qa={"clone-#{@ammo_group.id}"} - > - - - - <.link - href="#" - class="text-primary-600 link" - phx-click="delete" - phx-value-id={@ammo_group.id} - data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")} - data-qa={"delete-#{@ammo_group.id}"} - > - - -
- """ - end - - defp get_value_for_key(:container, %{container: nil}), do: {nil, nil} - - defp get_value_for_key(:container, %{container: %{name: container_name}} = ammo_group) do - assigns = %{ammo_group: ammo_group} - - {container_name, - ~H""" -
- <.link - navigate={Routes.container_show_path(Endpoint, :show, @ammo_group.container)} - class="mx-2 my-1 link" - > - <%= @ammo_group.container.name %> - - - <.link - patch={Routes.ammo_group_index_path(Endpoint, :move, @ammo_group)} - class="mx-2 my-1 text-sm btn btn-primary" - > - <%= gettext("Move ammo") %> - -
- """} - end - - defp get_value_for_key(key, ammo_group), do: ammo_group |> Map.get(key) end diff --git a/lib/cannery_web/live/ammo_group_live/index.html.heex b/lib/cannery_web/live/ammo_group_live/index.html.heex index ecef0a2..93abb2c 100644 --- a/lib/cannery_web/live/ammo_group_live/index.html.heex +++ b/lib/cannery_web/live/ammo_group_live/index.html.heex @@ -42,7 +42,7 @@ <% end %> <%= unless @ammo_groups |> Enum.empty?() do %> -
+
<.toggle_button action="toggle_show_used" value={@show_used}> <%= gettext("Show used") %> @@ -51,12 +51,92 @@
<.live_component - module={CanneryWeb.Components.TableComponent} - id="ammo_groups_index_table" - action={@live_action} - columns={@columns} - rows={@rows} - /> + module={CanneryWeb.Components.AmmoGroupTableComponent} + id="ammo-group-index-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 %> + + + <:range :let={ammo_group}> +
+ + + <.link + patch={Routes.ammo_group_index_path(Endpoint, :add_shot_group, ammo_group)} + class="mx-2 my-1 text-sm btn btn-primary" + > + <%= dgettext("actions", "Record shots") %> + +
+ + <:container :let={%{container: %{name: container_name} = container} = ammo_group}> +
+ <.link + navigate={Routes.container_show_path(Endpoint, :show, container)} + class="mx-2 my-1 link" + > + <%= container_name %> + + + <.link + patch={Routes.ammo_group_index_path(Endpoint, :move, ammo_group)} + class="mx-2 my-1 text-sm btn btn-primary" + > + <%= gettext("Move ammo") %> + +
+ + <:actions :let={ammo_group}> +
+ <.link + navigate={Routes.ammo_group_show_path(Endpoint, :show, ammo_group)} + class="text-primary-600 link" + data-qa={"view-#{ammo_group.id}"} + > + + + + <.link + patch={Routes.ammo_group_index_path(Endpoint, :edit, ammo_group)} + class="text-primary-600 link" + data-qa={"edit-#{ammo_group.id}"} + > + + + + <.link + patch={Routes.ammo_group_index_path(Endpoint, :clone, ammo_group)} + class="text-primary-600 link" + data-qa={"clone-#{ammo_group.id}"} + > + + + + <.link + href="#" + class="text-primary-600 link" + phx-click="delete" + phx-value-id={ammo_group.id} + data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")} + data-qa={"delete-#{ammo_group.id}"} + > + + +
+ + <% end %>
diff --git a/lib/cannery_web/live/ammo_group_live/show.ex b/lib/cannery_web/live/ammo_group_live/show.ex index 04b02c0..423748f 100644 --- a/lib/cannery_web/live/ammo_group_live/show.ex +++ b/lib/cannery_web/live/ammo_group_live/show.ex @@ -102,12 +102,12 @@ defmodule CanneryWeb.AmmoGroupLive.Show do defp display_ammo_group(%{assigns: %{current_user: current_user}} = socket, id), do: display_ammo_group(socket, Ammo.get_ammo_group!(id, current_user)) - @spec get_table_row_for_shot_group(AmmoGroup.t(), ShotGroup.t(), [map()]) :: [map()] + @spec get_table_row_for_shot_group(AmmoGroup.t(), ShotGroup.t(), [map()]) :: map() defp get_table_row_for_shot_group(ammo_group, %{date: date} = shot_group, columns) do assigns = %{ammo_group: ammo_group, shot_group: shot_group} columns - |> Enum.into(%{}, fn %{key: key} -> + |> Map.new(fn %{key: key} -> value = case key do :date -> diff --git a/lib/cannery_web/live/ammo_type_live/index.ex b/lib/cannery_web/live/ammo_type_live/index.ex index 28b778b..ffa36fc 100644 --- a/lib/cannery_web/live/ammo_type_live/index.ex +++ b/lib/cannery_web/live/ammo_type_live/index.ex @@ -134,7 +134,7 @@ defmodule CanneryWeb.AmmoTypeLive.Index do end ) |> Kernel.++([ - %{label: gettext("Average Price paid"), key: :avg_price_paid, type: :avg_price_paid}, + %{label: gettext("Average CPR"), key: :avg_price_paid, type: :avg_price_paid}, %{label: nil, key: "actions", type: :actions, sortable: false} ]) @@ -147,7 +147,7 @@ defmodule CanneryWeb.AmmoTypeLive.Index do defp get_ammo_type_values(ammo_type, columns, current_user) do columns - |> Enum.into(%{}, fn %{key: key, type: type} -> + |> Map.new(fn %{key: key, type: type} -> {key, get_ammo_type_value(type, key, ammo_type, current_user)} end) end diff --git a/lib/cannery_web/live/ammo_type_live/show.ex b/lib/cannery_web/live/ammo_type_live/show.ex index 795722d..1cbdd5f 100644 --- a/lib/cannery_web/live/ammo_type_live/show.ex +++ b/lib/cannery_web/live/ammo_type_live/show.ex @@ -8,13 +8,41 @@ defmodule CanneryWeb.AmmoTypeLive.Show do alias Cannery.Ammo alias CanneryWeb.Endpoint - @impl true - def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)} + @fields_list [ + %{label: gettext("Bullet type:"), key: :bullet_type, type: :string}, + %{label: gettext("Bullet core:"), key: :bullet_core, type: :string}, + %{label: gettext("Cartridge:"), key: :cartridge, type: :string}, + %{label: gettext("Caliber:"), key: :caliber, type: :string}, + %{label: gettext("Case material:"), key: :case_material, type: :string}, + %{label: gettext("Jacket type:"), key: :jacket_type, type: :string}, + %{label: gettext("Muzzle velocity:"), key: :muzzle_velocity, type: :string}, + %{label: gettext("Powder type:"), key: :powder_type, type: :string}, + %{label: gettext("Powder grains per charge:"), key: :powder_grains_per_charge, type: :string}, + %{label: gettext("Grains:"), key: :grains, type: :string}, + %{label: gettext("Pressure:"), key: :pressure, type: :string}, + %{label: gettext("Primer type:"), key: :primer_type, type: :string}, + %{label: gettext("Firing type:"), key: :firing_type, type: :string}, + %{label: gettext("Tracer:"), key: :tracer, type: :boolean}, + %{label: gettext("Incendiary:"), key: :incendiary, type: :boolean}, + %{label: gettext("Blank:"), key: :blank, type: :boolean}, + %{label: gettext("Corrosive:"), key: :corrosive, type: :boolean}, + %{label: gettext("Manufacturer:"), key: :manufacturer, type: :string}, + %{label: gettext("UPC:"), key: :upc, type: :string} + ] @impl true - def handle_params(%{"id" => id}, _params, %{assigns: %{current_user: current_user}} = socket) do + def mount(_params, _session, socket), + do: {:ok, socket |> assign(show_used: false, view_table: false)} + + @impl true + def handle_params( + %{"id" => id}, + _params, + %{assigns: %{current_user: current_user, live_action: live_action}} = socket + ) do ammo_type = Ammo.get_ammo_type!(id, current_user) - {:noreply, socket |> display_ammo_type(ammo_type)} + socket = socket |> assign(view_table: live_action == :table) |> display_ammo_type(ammo_type) + {:noreply, socket} end @impl true @@ -36,22 +64,45 @@ defmodule CanneryWeb.AmmoTypeLive.Show do {:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()} end + @impl true + def handle_event( + "toggle_table", + _params, + %{assigns: %{view_table: view_table, ammo_type: ammo_type}} = socket + ) do + new_path = + if view_table, + do: Routes.ammo_type_show_path(Endpoint, :show, ammo_type), + else: Routes.ammo_type_show_path(Endpoint, :table, ammo_type) + + {:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)} + end + defp display_ammo_type( - %{ - assigns: %{ - live_action: live_action, - current_user: current_user, - show_used: show_used - } - } = socket, + %{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} = + socket, ammo_type ) do + fields_to_display = + @fields_list + |> Enum.any?(fn %{key: field, type: type} -> + default_value = + case type do + :boolean -> false + _other_type -> nil + end + + ammo_type |> Map.get(field) != default_value + end) + socket |> assign( - page_title: page_title(live_action), + page_title: page_title(live_action, ammo_type), ammo_type: ammo_type, ammo_groups: ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used), - avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user) + avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user), + fields_list: @fields_list, + fields_to_display: fields_to_display ) end @@ -59,6 +110,9 @@ defmodule CanneryWeb.AmmoTypeLive.Show do socket |> display_ammo_type(ammo_type) end - defp page_title(:show), do: gettext("Show Ammo type") - defp page_title(:edit), do: gettext("Edit Ammo type") + defp page_title(action, %{name: ammo_type_name}) when action in [:show, :table], + do: ammo_type_name + + defp page_title(:edit, %{name: ammo_type_name}), + do: gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type_name) end diff --git a/lib/cannery_web/live/ammo_type_live/show.html.heex b/lib/cannery_web/live/ammo_type_live/show.html.heex index 5873acd..c40d084 100644 --- a/lib/cannery_web/live/ammo_type_live/show.html.heex +++ b/lib/cannery_web/live/ammo_type_live/show.html.heex @@ -39,44 +39,30 @@
-
- <%= for {field_name, field, type} <- [ - {gettext("Bullet type"), :bullet_type, :string}, - {gettext("Bullet core"), :bullet_core, :string}, - {gettext("Cartridge"), :cartridge, :string}, - {gettext("Caliber"), :caliber, :string}, - {gettext("Case material"), :case_material, :string}, - {gettext("Jacket type"), :jacket_type, :string}, - {gettext("Muzzle velocity"), :muzzle_velocity, :string}, - {gettext("Powder type"), :powder_type, :string}, - {gettext("Powder grains per charge"), :powder_grains_per_charge, :string}, - {gettext("Grains"), :grains, :string}, - {gettext("Pressure"), :pressure, :string}, - {gettext("Primer type"), :primer_type, :string}, - {gettext("Firing type"), :firing_type, :string}, - {gettext("Tracer"), :tracer, :boolean}, - {gettext("Incendiary"), :incendiary, :boolean}, - {gettext("Blank"), :blank, :boolean}, - {gettext("Corrosive"), :corrosive, :boolean}, - {gettext("Manufacturer"), :manufacturer, :string}, - {gettext("UPC"), :upc, :string} - ] do %> - <%= if @ammo_type |> Map.get(field) do %> -

- <%= field_name %>: -

+ <%= if @fields_to_display do %> +
+ <%= for %{label: label, key: key, type: type} <- @fields_list do %> + <%= if @ammo_type |> Map.get(key) do %> +

+ <%= label %> +

- - <%= case type do %> - <% :boolean -> %> - <%= @ammo_type |> Map.get(field) |> humanize() %> - <% _ -> %> - <%= @ammo_type |> Map.get(field) %> - <% end %> - + + <%= case type do %> + <% :boolean -> %> + <%= @ammo_type |> Map.get(key) |> humanize() %> + <% _ -> %> + <%= @ammo_type |> Map.get(key) %> + <% end %> + + <% end %> <% end %> - <% end %> +
+
+ <% end %> + +

<%= gettext("Rounds:") %>

@@ -100,7 +86,11 @@ <%= @ammo_type |> Ammo.get_historical_count_for_ammo_type(@current_user) %> +
+
+ +

<%= gettext("Packs:") %>

@@ -124,7 +114,11 @@ <%= @ammo_type |> Ammo.get_ammo_groups_count_for_type(@current_user, true) %> +
+
+ +

<%= gettext("Added on:") %>

@@ -135,7 +129,7 @@ <%= if @avg_cost_per_round do %>

- <%= gettext("Average Price paid") %>: + <%= gettext("Average CPR") %>:

@@ -152,26 +146,51 @@
-
+
<.toggle_button action="toggle_show_used" value={@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 for this type") %> <%= display_emoji("😔") %>

<% else %> -
- <%= for ammo_group <- @ammo_groups do %> - <.ammo_group_card ammo_group={ammo_group} show_container={true} /> - <% 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} + > + <:container :let={%{container: %{name: container_name} = container}}> + <.link + navigate={Routes.container_show_path(Endpoint, :show, container)} + class="mx-2 my-1 link" + > + <%= container_name %> + + + + <% else %> +
+ <%= for ammo_group <- @ammo_groups do %> + <.ammo_group_card ammo_group={ammo_group} show_container={true} /> + <% end %> +
+ <% end %> <% end %>
diff --git a/lib/cannery_web/live/container_live/index.ex b/lib/cannery_web/live/container_live/index.ex index ebd3f19..9e9dddf 100644 --- a/lib/cannery_web/live/container_live/index.ex +++ b/lib/cannery_web/live/container_live/index.ex @@ -153,12 +153,12 @@ defmodule CanneryWeb.ContainerLive.Index do ) end - @spec get_row_data_for_container(Container.t(), [map()]) :: [map()] + @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 - |> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, container)} end) + |> Map.new(fn %{key: key} -> {key, get_value_for_key(key, container)} end) end @spec get_value_for_key(atom(), Container.t()) :: any() diff --git a/lib/cannery_web/live/container_live/index.html.heex b/lib/cannery_web/live/container_live/index.html.heex index 8be7ca4..2fd75f9 100644 --- a/lib/cannery_web/live/container_live/index.html.heex +++ b/lib/cannery_web/live/container_live/index.html.heex @@ -26,7 +26,7 @@
<% end %> -
+
<%= 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 0a7f875..4241d30 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 58b415b..318b1f6 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 1daa9ad..6206464 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 9147900..4d41ff3 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 5b3b29b..25ca3d4 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 c09683c..12b819f 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 972d114..aaf1254 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 ce36d97..3123b04 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 f217070..fe134ae 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 e3de802..d533c49 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 75292f4..29af9f4 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 7bb4af0..ab0e887 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 8ebcf74..fbaa215 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 2d7899b..1a35d3b 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 cb8aabb..c68e06d 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 9da0828..3444d16 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 d13435b..f3dd77c 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 357543b..153289b 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 f3862d0..ba128c5 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 a6ff859..f0a3903 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 1b7d0bb..b09effb 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 4f2deb5..5abad53 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 b17f775..b0d2265 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 4f8796f..02523a1 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 1e40016..f921bf7 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 77c8a64..a004414 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 d69951a..076897a 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 310b14f..982b455 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 f5be299..cdfef10 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