Compare commits
	
		
			9 Commits
		
	
	
		
			10c4f40864
			...
			6083fbca4f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6083fbca4f | |||
| cc31958bbe | |||
| 9e386f1631 | |||
| 36a0a1c6c8 | |||
| 2e0bb861f1 | |||
| dbc575d305 | |||
| 5390dcc4c2 | |||
| dc355fcd8e | |||
| 44fbd69e0f | 
| @@ -1,5 +1,14 @@ | |||||||
| # v0.5.5 | # v0.5.5 | ||||||
| - Update translations | - Update translations | ||||||
|  | - Display used-up date on used-up ammo | ||||||
|  | - Make ammo index page a bit more compact | ||||||
|  | - Make ammo index page filter used-up ammo | ||||||
|  | - Make ammo catalog page include ammo count | ||||||
|  | - Make ammo type show page a bit more compact | ||||||
|  | - Make ammo type show page include container names for each ammo | ||||||
|  | - Make ammo type show page filter used-up ammo | ||||||
|  | - Make container show page a bit more compact | ||||||
|  | - Make container show page filter used-up ammo | ||||||
| - Forgot to add the logo as the favicon whoops | - Forgot to add the logo as the favicon whoops | ||||||
|  |  | ||||||
| # v0.5.4 | # v0.5.4 | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   .btn { |   .btn { | ||||||
|     @apply inline-block break-words min-w-4; |     @apply inline-block break-words; | ||||||
|     @apply focus:outline-none px-4 py-2 rounded-lg; |     @apply focus:outline-none px-4 py-2 rounded-lg; | ||||||
|     @apply shadow-sm focus:shadow-lg; |     @apply shadow-sm focus:shadow-lg; | ||||||
|     @apply transition-all duration-300 ease-in-out; |     @apply transition-all duration-300 ease-in-out; | ||||||
| @@ -52,7 +52,7 @@ | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   .link { |   .link { | ||||||
|     @apply inline-block break-all min-w-4; |     @apply inline-block break-words; | ||||||
|     @apply hover:underline; |     @apply hover:underline; | ||||||
|     @apply transition-colors duration-500 ease-in-out; |     @apply transition-colors duration-500 ease-in-out; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ defmodule Cannery.Ammo do | |||||||
|  |  | ||||||
|   import CanneryWeb.Gettext |   import CanneryWeb.Gettext | ||||||
|   import Ecto.Query, warn: false |   import Ecto.Query, warn: false | ||||||
|   alias Cannery.{Accounts.User, Containers, Repo} |   alias Cannery.{Accounts.User, Containers, Containers.Container, Repo} | ||||||
|   alias Cannery.ActivityLog.ShotGroup |   alias Cannery.ActivityLog.ShotGroup | ||||||
|   alias Cannery.Ammo.{AmmoGroup, AmmoType} |   alias Cannery.Ammo.{AmmoGroup, AmmoType} | ||||||
|   alias Ecto.Changeset |   alias Ecto.Changeset | ||||||
| @@ -220,7 +220,15 @@ defmodule Cannery.Ammo do | |||||||
|  |  | ||||||
|   """ |   """ | ||||||
|   @spec list_ammo_groups_for_type(AmmoType.t(), User.t()) :: [AmmoGroup.t()] |   @spec list_ammo_groups_for_type(AmmoType.t(), User.t()) :: [AmmoGroup.t()] | ||||||
|   def list_ammo_groups_for_type(%AmmoType{id: ammo_type_id, user_id: user_id}, %User{id: user_id}) do |   @spec list_ammo_groups_for_type(AmmoType.t(), User.t(), include_empty :: boolean()) :: | ||||||
|  |           [AmmoGroup.t()] | ||||||
|  |   def list_ammo_groups_for_type(ammo_type, user, include_empty \\ false) | ||||||
|  |  | ||||||
|  |   def list_ammo_groups_for_type( | ||||||
|  |         %AmmoType{id: ammo_type_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         true = _include_empty | ||||||
|  |       ) do | ||||||
|     Repo.all( |     Repo.all( | ||||||
|       from ag in AmmoGroup, |       from ag in AmmoGroup, | ||||||
|         left_join: sg in assoc(ag, :shot_groups), |         left_join: sg in assoc(ag, :shot_groups), | ||||||
| @@ -231,6 +239,110 @@ defmodule Cannery.Ammo do | |||||||
|     ) |     ) | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   def list_ammo_groups_for_type( | ||||||
|  |         %AmmoType{id: ammo_type_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         false = _include_empty | ||||||
|  |       ) do | ||||||
|  |     Repo.all( | ||||||
|  |       from ag in AmmoGroup, | ||||||
|  |         left_join: sg in assoc(ag, :shot_groups), | ||||||
|  |         where: ag.ammo_type_id == ^ammo_type_id, | ||||||
|  |         where: ag.user_id == ^user_id, | ||||||
|  |         where: not (ag.count == 0), | ||||||
|  |         preload: [shot_groups: sg], | ||||||
|  |         order_by: ag.id | ||||||
|  |     ) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   @doc """ | ||||||
|  |   Returns the list of ammo_groups for a user and container. | ||||||
|  |  | ||||||
|  |   ## Examples | ||||||
|  |  | ||||||
|  |       iex> list_ammo_groups_for_container(%AmmoType{id: 123}, %User{id: 123}) | ||||||
|  |       [%AmmoGroup{}, ...] | ||||||
|  |  | ||||||
|  |   """ | ||||||
|  |   @spec list_ammo_groups_for_container(Container.t(), User.t()) :: [AmmoGroup.t()] | ||||||
|  |   @spec list_ammo_groups_for_container(Container.t(), User.t(), include_empty :: boolean()) :: | ||||||
|  |           [AmmoGroup.t()] | ||||||
|  |   def list_ammo_groups_for_container(container, user, include_empty \\ false) | ||||||
|  |  | ||||||
|  |   def list_ammo_groups_for_container( | ||||||
|  |         %Container{id: container_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         true = _include_empty | ||||||
|  |       ) do | ||||||
|  |     Repo.all( | ||||||
|  |       from ag in AmmoGroup, | ||||||
|  |         left_join: sg in assoc(ag, :shot_groups), | ||||||
|  |         where: ag.container_id == ^container_id, | ||||||
|  |         where: ag.user_id == ^user_id, | ||||||
|  |         preload: [shot_groups: sg], | ||||||
|  |         order_by: ag.id | ||||||
|  |     ) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   def list_ammo_groups_for_container( | ||||||
|  |         %Container{id: container_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         false = _include_empty | ||||||
|  |       ) do | ||||||
|  |     Repo.all( | ||||||
|  |       from ag in AmmoGroup, | ||||||
|  |         left_join: sg in assoc(ag, :shot_groups), | ||||||
|  |         where: ag.container_id == ^container_id, | ||||||
|  |         where: ag.user_id == ^user_id, | ||||||
|  |         where: not (ag.count == 0), | ||||||
|  |         preload: [shot_groups: sg], | ||||||
|  |         order_by: ag.id | ||||||
|  |     ) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   @doc """ | ||||||
|  |   Returns the count of ammo_groups for an ammo type. | ||||||
|  |  | ||||||
|  |   ## Examples | ||||||
|  |  | ||||||
|  |       iex> get_ammo_groups_count_for_type(%User{id: 123}) | ||||||
|  |       3 | ||||||
|  |  | ||||||
|  |   """ | ||||||
|  |   @spec get_ammo_groups_count_for_type(AmmoType.t(), User.t()) :: [AmmoGroup.t()] | ||||||
|  |   @spec get_ammo_groups_count_for_type(AmmoType.t(), User.t(), include_empty :: boolean()) :: | ||||||
|  |           [AmmoGroup.t()] | ||||||
|  |   def get_ammo_groups_count_for_type(ammo_type, user, include_empty \\ false) | ||||||
|  |  | ||||||
|  |   def get_ammo_groups_count_for_type( | ||||||
|  |         %AmmoType{id: ammo_type_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         true = _include_empty | ||||||
|  |       ) do | ||||||
|  |     Repo.one!( | ||||||
|  |       from ag in AmmoGroup, | ||||||
|  |         where: ag.user_id == ^user_id, | ||||||
|  |         where: ag.ammo_type_id == ^ammo_type_id, | ||||||
|  |         distinct: true, | ||||||
|  |         select: count(ag.id) | ||||||
|  |     ) || 0 | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   def get_ammo_groups_count_for_type( | ||||||
|  |         %AmmoType{id: ammo_type_id, user_id: user_id}, | ||||||
|  |         %User{id: user_id}, | ||||||
|  |         false = _include_empty | ||||||
|  |       ) do | ||||||
|  |     Repo.one!( | ||||||
|  |       from ag in AmmoGroup, | ||||||
|  |         where: ag.user_id == ^user_id, | ||||||
|  |         where: ag.ammo_type_id == ^ammo_type_id, | ||||||
|  |         where: not (ag.count == 0), | ||||||
|  |         distinct: true, | ||||||
|  |         select: count(ag.id) | ||||||
|  |     ) || 0 | ||||||
|  |   end | ||||||
|  |  | ||||||
|   @doc """ |   @doc """ | ||||||
|   Returns the list of ammo_groups for a user. |   Returns the list of ammo_groups for a user. | ||||||
|  |  | ||||||
| @@ -242,22 +354,27 @@ defmodule Cannery.Ammo do | |||||||
|   """ |   """ | ||||||
|   @spec list_ammo_groups(User.t()) :: [AmmoGroup.t()] |   @spec list_ammo_groups(User.t()) :: [AmmoGroup.t()] | ||||||
|   @spec list_ammo_groups(User.t(), include_empty :: boolean()) :: [AmmoGroup.t()] |   @spec list_ammo_groups(User.t(), include_empty :: boolean()) :: [AmmoGroup.t()] | ||||||
|   def list_ammo_groups(%User{id: user_id}, include_empty \\ false) do |   def list_ammo_groups(user, include_empty \\ false) | ||||||
|     if include_empty do |  | ||||||
|  |   def list_ammo_groups(%User{id: user_id}, true = _include_empty) do | ||||||
|  |     Repo.all( | ||||||
|       from ag in AmmoGroup, |       from ag in AmmoGroup, | ||||||
|         left_join: sg in assoc(ag, :shot_groups), |         left_join: sg in assoc(ag, :shot_groups), | ||||||
|         where: ag.user_id == ^user_id, |         where: ag.user_id == ^user_id, | ||||||
|         preload: [shot_groups: sg], |         preload: [shot_groups: sg], | ||||||
|         order_by: ag.id |         order_by: ag.id | ||||||
|     else |     ) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   def list_ammo_groups(%User{id: user_id}, false = _include_empty) do | ||||||
|  |     Repo.all( | ||||||
|       from ag in AmmoGroup, |       from ag in AmmoGroup, | ||||||
|         left_join: sg in assoc(ag, :shot_groups), |         left_join: sg in assoc(ag, :shot_groups), | ||||||
|         where: ag.user_id == ^user_id, |         where: ag.user_id == ^user_id, | ||||||
|         where: not (ag.count == 0), |         where: not (ag.count == 0), | ||||||
|         preload: [shot_groups: sg], |         preload: [shot_groups: sg], | ||||||
|         order_by: ag.id |         order_by: ag.id | ||||||
|     end |     ) | ||||||
|     |> Repo.all() |  | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   @doc """ |   @doc """ | ||||||
| @@ -318,6 +435,17 @@ defmodule Cannery.Ammo do | |||||||
|     |> Enum.sum() |     |> Enum.sum() | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   @doc """ | ||||||
|  |   Returns the last entered shot group for an ammo group | ||||||
|  |   """ | ||||||
|  |   @spec get_last_used_shot_group(AmmoGroup.t()) :: ShotGroup.t() | nil | ||||||
|  |   def get_last_used_shot_group(%AmmoGroup{} = ammo_group) do | ||||||
|  |     ammo_group | ||||||
|  |     |> Repo.preload(:shot_groups) | ||||||
|  |     |> Map.fetch!(:shot_groups) | ||||||
|  |     |> Enum.max_by(fn %{date: date} -> date end, Date, fn -> nil end) | ||||||
|  |   end | ||||||
|  |  | ||||||
|   @doc """ |   @doc """ | ||||||
|   Calculates the percentage remaining of an ammo group out of 100 |   Calculates the percentage remaining of an ammo group out of 100 | ||||||
|   """ |   """ | ||||||
|   | |||||||
| @@ -212,6 +212,7 @@ defmodule Cannery.Containers do | |||||||
|     container |     container | ||||||
|     |> Repo.preload(:ammo_groups) |     |> Repo.preload(:ammo_groups) | ||||||
|     |> Map.fetch!(:ammo_groups) |     |> Map.fetch!(:ammo_groups) | ||||||
|  |     |> Enum.reject(fn %{count: count} -> count == 0 end) | ||||||
|     |> Enum.count() |     |> Enum.count() | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,11 +4,16 @@ defmodule CanneryWeb.Components.AmmoGroupCard do | |||||||
|   """ |   """ | ||||||
|  |  | ||||||
|   use CanneryWeb, :component |   use CanneryWeb, :component | ||||||
|   alias Cannery.Repo |   alias Cannery.{Ammo, Repo} | ||||||
|   alias CanneryWeb.Endpoint |   alias CanneryWeb.Endpoint | ||||||
|  |  | ||||||
|   def ammo_group_card(assigns) do |   def ammo_group_card(%{ammo_group: ammo_group} = assigns) do | ||||||
|     assigns = assigns |> assign(:ammo_group, assigns.ammo_group |> Repo.preload(:ammo_type)) |     assigns = | ||||||
|  |       %{show_container: show_container} = assigns |> assign_new(:show_container, fn -> false end) | ||||||
|  |  | ||||||
|  |     preloads = if show_container, do: [:ammo_type, :container], else: [:ammo_type] | ||||||
|  |     ammo_group = ammo_group |> Repo.preload(preloads) | ||||||
|  |     assigns = assigns |> assign(:ammo_group, ammo_group) | ||||||
|  |  | ||||||
|     ~H""" |     ~H""" | ||||||
|     <div |     <div | ||||||
| @@ -17,7 +22,7 @@ defmodule CanneryWeb.Components.AmmoGroupCard do | |||||||
|             border border-gray-400 rounded-lg shadow-lg hover:shadow-md |             border border-gray-400 rounded-lg shadow-lg hover:shadow-md | ||||||
|             transition-all duration-300 ease-in-out" |             transition-all duration-300 ease-in-out" | ||||||
|     > |     > | ||||||
|       <%= live_redirect to: Routes.ammo_group_show_path(Endpoint, :show, @ammo_group), |       <%= live_patch to: Routes.ammo_group_show_path(Endpoint, :show, @ammo_group), | ||||||
|                     class: "mb-2 link" do %> |                     class: "mb-2 link" do %> | ||||||
|         <h1 class="title text-xl title-primary-500"> |         <h1 class="title text-xl title-primary-500"> | ||||||
|           <%= @ammo_group.ammo_type.name %> |           <%= @ammo_group.ammo_type.name %> | ||||||
| @@ -27,7 +32,7 @@ defmodule CanneryWeb.Components.AmmoGroupCard do | |||||||
|       <div class="flex flex-col justify-center items-center"> |       <div class="flex flex-col justify-center items-center"> | ||||||
|         <span class="rounded-lg title text-lg"> |         <span class="rounded-lg title text-lg"> | ||||||
|           <%= gettext("Count:") %> |           <%= gettext("Count:") %> | ||||||
|           <%= @ammo_group.count %> |           <%= if @ammo_group.count == 0, do: "Empty", else: @ammo_group.count %> | ||||||
|         </span> |         </span> | ||||||
|  |  | ||||||
|         <%= if @ammo_group.notes do %> |         <%= if @ammo_group.notes do %> | ||||||
| @@ -42,6 +47,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do | |||||||
|           <%= @ammo_group.inserted_at |> display_datetime() %> |           <%= @ammo_group.inserted_at |> display_datetime() %> | ||||||
|         </span> |         </span> | ||||||
|  |  | ||||||
|  |         <%= if @ammo_group.count == 0 do %> | ||||||
|  |           <span class="rounded-lg title text-lg"> | ||||||
|  |             <%= gettext("Used up on:") %> | ||||||
|  |             <%= @ammo_group |> Ammo.get_last_used_shot_group() |> Map.get(:date) |> display_date() %> | ||||||
|  |           </span> | ||||||
|  |         <% end %> | ||||||
|  |  | ||||||
|         <%= if @ammo_group.price_paid do %> |         <%= if @ammo_group.price_paid do %> | ||||||
|           <span class="rounded-lg title text-lg"> |           <span class="rounded-lg title text-lg"> | ||||||
|             <%= gettext("Price paid:") %> |             <%= gettext("Price paid:") %> | ||||||
| @@ -50,6 +62,17 @@ defmodule CanneryWeb.Components.AmmoGroupCard do | |||||||
|             ) %> |             ) %> | ||||||
|           </span> |           </span> | ||||||
|         <% end %> |         <% end %> | ||||||
|  |  | ||||||
|  |         <%= if @show_container and @ammo_group.container do %> | ||||||
|  |           <span class="rounded-lg title text-lg"> | ||||||
|  |             <%= gettext("Container:") %> | ||||||
|  |  | ||||||
|  |             <%= live_patch to: Routes.container_show_path(Endpoint, :show, @ammo_group.container), | ||||||
|  |               class: "link" do %> | ||||||
|  |               <%= @ammo_group.container.name %> | ||||||
|  |             <% end %> | ||||||
|  |           </span> | ||||||
|  |         <% end %> | ||||||
|       </div> |       </div> | ||||||
|  |  | ||||||
|       <%= if assigns |> Map.has_key?(:inner_block) do %> |       <%= if assigns |> Map.has_key?(:inner_block) do %> | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ defmodule CanneryWeb.Components.TableComponent do | |||||||
|     - `:columns`: An array of maps containing the following keys |     - `:columns`: An array of maps containing the following keys | ||||||
|       - `:label`: A gettext'd or otherwise user-facing string label for the |       - `:label`: A gettext'd or otherwise user-facing string label for the | ||||||
|         column. Can be nil |         column. Can be nil | ||||||
|       - `:key`: A string key used for sorting |       - `:key`: An atom key used for sorting | ||||||
|       - `:class`: Extra classes to be applied to the column element, if desired. |       - `:class`: Extra classes to be applied to the column element, if desired. | ||||||
|         Optional |         Optional | ||||||
|       - `:sortable`: If false, will prevent the user from sorting with it. |       - `:sortable`: If false, will prevent the user from sorting with it. | ||||||
| @@ -28,13 +28,13 @@ defmodule CanneryWeb.Components.TableComponent do | |||||||
|             required(:columns) => |             required(:columns) => | ||||||
|               list(%{ |               list(%{ | ||||||
|                 required(:label) => String.t() | nil, |                 required(:label) => String.t() | nil, | ||||||
|                 required(:key) => String.t() | nil, |                 required(:key) => atom() | nil, | ||||||
|                 optional(:class) => String.t(), |                 optional(:class) => String.t(), | ||||||
|                 optional(:sortable) => false |                 optional(:sortable) => false | ||||||
|               }), |               }), | ||||||
|             required(:rows) => |             required(:rows) => | ||||||
|               list(%{ |               list(%{ | ||||||
|                 (key :: String.t()) => any() | {custom_sort_value :: String.t(), value :: any()} |                 (key :: atom()) => any() | {custom_sort_value :: String.t(), value :: any()} | ||||||
|               }), |               }), | ||||||
|             optional(any()) => any() |             optional(any()) => any() | ||||||
|           }, |           }, | ||||||
| @@ -56,20 +56,19 @@ defmodule CanneryWeb.Components.TableComponent do | |||||||
|   def handle_event( |   def handle_event( | ||||||
|         "sort_by", |         "sort_by", | ||||||
|         %{"sort-key" => key}, |         %{"sort-key" => key}, | ||||||
|         %{assigns: %{rows: rows, last_sort_key: key, sort_mode: sort_mode}} = socket |         %{assigns: %{rows: rows, last_sort_key: last_sort_key, sort_mode: sort_mode}} = socket | ||||||
|       ) do |       ) do | ||||||
|     sort_mode = if sort_mode == :asc, do: :desc, else: :asc |     key = key |> String.to_existing_atom() | ||||||
|     rows = rows |> sort_by_custom_sort_value_or_value(key, sort_mode) |  | ||||||
|     {:noreply, socket |> assign(sort_mode: sort_mode, rows: rows)} |     sort_mode = | ||||||
|  |       case {key, sort_mode} do | ||||||
|  |         {^last_sort_key, :asc} -> :desc | ||||||
|  |         {^last_sort_key, :desc} -> :asc | ||||||
|  |         {_new_sort_key, _last_sort_mode} -> :asc | ||||||
|       end |       end | ||||||
|  |  | ||||||
|   def handle_event( |     rows = rows |> sort_by_custom_sort_value_or_value(key, sort_mode) | ||||||
|         "sort_by", |     {:noreply, socket |> assign(last_sort_key: key, sort_mode: sort_mode, rows: rows)} | ||||||
|         %{"sort-key" => key}, |  | ||||||
|         %{assigns: %{rows: rows}} = socket |  | ||||||
|       ) do |  | ||||||
|     rows = rows |> sort_by_custom_sort_value_or_value(key, :asc) |  | ||||||
|     {:noreply, socket |> assign(last_sort_key: key, sort_mode: :asc, rows: rows)} |  | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp sort_by_custom_sort_value_or_value(rows, key, sort_mode) do |   defp sort_by_custom_sort_value_or_value(rows, key, sort_mode) do | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| <div class="w-full overflow-x-auto border border-gray-600 rounded-lg shadow-lg bg-black"> | <div id={@id} class="w-full overflow-x-auto border border-gray-600 rounded-lg shadow-lg bg-black"> | ||||||
|   <table class="min-w-full table-auto text-center bg-white"> |   <table class="min-w-full table-auto text-center bg-white"> | ||||||
|     <thead class="border-b border-primary-600"> |     <thead class="border-b border-primary-600"> | ||||||
|       <tr> |       <tr> | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
|   def mount(_params, _session, socket) do |   def mount(_params, _session, socket) do | ||||||
|     {:ok, socket |> display_ammo_groups()} |     {:ok, socket |> assign(show_used: false) |> display_ammo_groups()} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
| @@ -72,22 +72,39 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|     {:noreply, socket |> display_ammo_groups()} |     {:noreply, socket |> display_ammo_groups()} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp display_ammo_groups(%{assigns: %{current_user: current_user}} = socket) do |   @impl true | ||||||
|     ammo_groups = Ammo.list_ammo_groups(current_user) |> Repo.preload([:ammo_type, :container]) |   def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do | ||||||
|  |     {:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_groups()} | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   defp display_ammo_groups( | ||||||
|  |          %{assigns: %{current_user: current_user, show_used: show_used}} = socket | ||||||
|  |        ) do | ||||||
|  |     ammo_groups = | ||||||
|  |       Ammo.list_ammo_groups(current_user, show_used) |> Repo.preload([:ammo_type, :container]) | ||||||
|  |  | ||||||
|     ammo_types_count = Ammo.get_ammo_types_count!(current_user) |     ammo_types_count = Ammo.get_ammo_types_count!(current_user) | ||||||
|     containers_count = Containers.get_containers_count!(current_user) |     containers_count = Containers.get_containers_count!(current_user) | ||||||
|  |  | ||||||
|     columns = [ |     columns = [ | ||||||
|       %{label: gettext("Ammo type"), key: "ammo_type"}, |       %{label: gettext("Ammo type"), key: :ammo_type}, | ||||||
|       %{label: gettext("Count"), key: "count"}, |       %{label: gettext("Count"), key: :count}, | ||||||
|       %{label: gettext("Price paid"), key: "price_paid"}, |       %{label: gettext("Price paid"), key: :price_paid}, | ||||||
|       %{label: gettext("% left"), key: "remaining"}, |       %{label: gettext("% left"), key: :remaining}, | ||||||
|       %{label: gettext("Range"), key: "range"}, |       %{label: gettext("Range"), key: :range}, | ||||||
|       %{label: gettext("Container"), key: "container"}, |       %{label: gettext("Container"), key: :container}, | ||||||
|       %{label: gettext("Added on"), key: "added_on"}, |       %{label: gettext("Added on"), key: :added_on} | ||||||
|       %{label: nil, key: "actions", sortable: false} |  | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
|  |     columns = | ||||||
|  |       if show_used do | ||||||
|  |         columns ++ [%{label: gettext("Used up on"), key: :used_up_on}] | ||||||
|  |       else | ||||||
|  |         columns | ||||||
|  |       end | ||||||
|  |  | ||||||
|  |     columns = columns ++ [%{label: nil, key: :actions, sortable: false}] | ||||||
|  |  | ||||||
|     rows = |     rows = | ||||||
|       ammo_groups |       ammo_groups | ||||||
|       |> Enum.map(fn ammo_group -> ammo_group |> get_row_data_for_ammo_group(columns) end) |       |> Enum.map(fn ammo_group -> ammo_group |> get_row_data_for_ammo_group(columns) end) | ||||||
| @@ -110,8 +127,8 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|     |> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, ammo_group)} end) |     |> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, ammo_group)} end) | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   @spec get_value_for_key(String.t(), AmmoGroup.t()) :: any() |   @spec get_value_for_key(atom(), AmmoGroup.t()) :: any() | ||||||
|   defp get_value_for_key("ammo_type", %{ammo_type: ammo_type}) do |   defp get_value_for_key(:ammo_type, %{ammo_type: ammo_type}) do | ||||||
|     {ammo_type.name, |     {ammo_type.name, | ||||||
|      live_patch(ammo_type.name, |      live_patch(ammo_type.name, | ||||||
|        to: Routes.ammo_type_show_path(Endpoint, :show, ammo_type), |        to: Routes.ammo_type_show_path(Endpoint, :show, ammo_type), | ||||||
| @@ -119,12 +136,12 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|      )} |      )} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_value_for_key("price_paid", %{price_paid: nil}), do: {"a", nil} |   defp get_value_for_key(:price_paid, %{price_paid: nil}), do: {"a", nil} | ||||||
|  |  | ||||||
|   defp get_value_for_key("price_paid", %{price_paid: price_paid}), |   defp get_value_for_key(:price_paid, %{price_paid: price_paid}), | ||||||
|     do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2)) |     do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2)) | ||||||
|  |  | ||||||
|   defp get_value_for_key("added_on", %{inserted_at: inserted_at}) do |   defp get_value_for_key(:added_on, %{inserted_at: inserted_at}) do | ||||||
|     assigns = %{inserted_at: inserted_at} |     assigns = %{inserted_at: inserted_at} | ||||||
|  |  | ||||||
|     {inserted_at, |     {inserted_at, | ||||||
| @@ -133,15 +150,30 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|      """} |      """} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_value_for_key("range", %{staged: staged} = ammo_group) do |   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} |     assigns = %{ammo_group: ammo_group} | ||||||
|  |  | ||||||
|     {staged, |     {staged, | ||||||
|      ~H""" |      ~H""" | ||||||
|      <div class="min-w-20 py-2 px-4 h-full flex flex-col justify-center items-center"> |      <div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center"> | ||||||
|        <button |        <button | ||||||
|          type="button" |          type="button" | ||||||
|          class="mx-2 my-1 btn btn-primary" |          class="mx-2 my-1 text-sm btn btn-primary" | ||||||
|          phx-click="toggle_staged" |          phx-click="toggle_staged" | ||||||
|          phx-value-ammo_group_id={ammo_group.id} |          phx-value-ammo_group_id={ammo_group.id} | ||||||
|        > |        > | ||||||
| @@ -150,16 +182,16 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|  |  | ||||||
|        <%= live_patch(dgettext("actions", "Record shots"), |        <%= live_patch(dgettext("actions", "Record shots"), | ||||||
|          to: Routes.ammo_group_index_path(Endpoint, :add_shot_group, ammo_group), |          to: Routes.ammo_group_index_path(Endpoint, :add_shot_group, ammo_group), | ||||||
|          class: "mx-2 my-1 btn btn-primary" |          class: "mx-2 my-1 text-sm btn btn-primary" | ||||||
|        ) %> |        ) %> | ||||||
|      </div> |      </div> | ||||||
|      """} |      """} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_value_for_key("remaining", ammo_group), |   defp get_value_for_key(:remaining, ammo_group), | ||||||
|     do: "#{ammo_group |> Ammo.get_percentage_remaining()}%" |     do: "#{ammo_group |> Ammo.get_percentage_remaining()}%" | ||||||
|  |  | ||||||
|   defp get_value_for_key("actions", ammo_group) do |   defp get_value_for_key(:actions, ammo_group) do | ||||||
|     assigns = %{ammo_group: ammo_group} |     assigns = %{ammo_group: ammo_group} | ||||||
|  |  | ||||||
|     ~H""" |     ~H""" | ||||||
| @@ -190,22 +222,28 @@ defmodule CanneryWeb.AmmoGroupLive.Index do | |||||||
|     """ |     """ | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_value_for_key("container", %{container: nil}), do: {nil, nil} |   defp get_value_for_key(:container, %{container: nil}), do: {nil, nil} | ||||||
|  |  | ||||||
|   defp get_value_for_key("container", %{container: %{name: container_name}} = ammo_group) do |   defp get_value_for_key(:container, %{container: %{name: container_name}} = ammo_group) do | ||||||
|     assigns = %{ammo_group: ammo_group} |     assigns = %{ammo_group: ammo_group} | ||||||
|  |  | ||||||
|     {container_name, |     {container_name, | ||||||
|      ~H""" |      ~H""" | ||||||
|      <div class="min-w-20 py-2 px-4 h-full space-x-4 flex justify-center items-center"> |      <div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center"> | ||||||
|        <%= live_patch(@ammo_group.container.name, |        <%= live_patch( | ||||||
|  |          @ammo_group.container.name, | ||||||
|  |          to: Routes.container_show_path(Endpoint, :show, @ammo_group.container), | ||||||
|  |          class: "mx-2 my-1 link" | ||||||
|  |        ) %> | ||||||
|  |  | ||||||
|  |        <%= live_patch( | ||||||
|  |          gettext("Move ammo"), | ||||||
|          to: Routes.ammo_group_index_path(Endpoint, :move, @ammo_group), |          to: Routes.ammo_group_index_path(Endpoint, :move, @ammo_group), | ||||||
|          class: "btn btn-primary" |          class: "mx-2 my-1 text-sm btn btn-primary" | ||||||
|        ) %> |        ) %> | ||||||
|      </div> |      </div> | ||||||
|      """} |      """} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_value_for_key(key, ammo_group), |   defp get_value_for_key(key, ammo_group), do: ammo_group |> Map.get(key) | ||||||
|     do: ammo_group |> Map.get(key |> String.to_existing_atom()) |  | ||||||
| end | end | ||||||
|   | |||||||
| @@ -46,6 +46,14 @@ | |||||||
|   <% end %> |   <% end %> | ||||||
|  |  | ||||||
|   <%= unless @ammo_groups |> Enum.empty?() do %> |   <%= unless @ammo_groups |> Enum.empty?() do %> | ||||||
|  |     <div class="flex flex-col justify-center items-center"> | ||||||
|  |       <.toggle_button action="toggle_show_used" value={@show_used}> | ||||||
|  |         <span class="title text-lg text-primary-600"> | ||||||
|  |           <%= gettext("Show used") %> | ||||||
|  |         </span> | ||||||
|  |       </.toggle_button> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|     <.live_component |     <.live_component | ||||||
|       module={CanneryWeb.Components.TableComponent} |       module={CanneryWeb.Components.TableComponent} | ||||||
|       id="ammo_groups_index_table" |       id="ammo_groups_index_table" | ||||||
|   | |||||||
| @@ -84,9 +84,9 @@ defmodule CanneryWeb.AmmoGroupLive.Show do | |||||||
|     ammo_group = ammo_group |> Repo.preload([:container, :ammo_type, :shot_groups], force: true) |     ammo_group = ammo_group |> Repo.preload([:container, :ammo_type, :shot_groups], force: true) | ||||||
|  |  | ||||||
|     columns = [ |     columns = [ | ||||||
|       %{label: gettext("Rounds shot"), key: "count"}, |       %{label: gettext("Rounds shot"), key: :count}, | ||||||
|       %{label: gettext("Notes"), key: "notes"}, |       %{label: gettext("Notes"), key: :notes}, | ||||||
|       %{label: gettext("Date"), key: "date"}, |       %{label: gettext("Date"), key: :date}, | ||||||
|       %{label: nil, key: "actions", sortable: false} |       %{label: nil, key: "actions", sortable: false} | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
| @@ -110,10 +110,10 @@ defmodule CanneryWeb.AmmoGroupLive.Show do | |||||||
|     |> Enum.into(%{}, fn %{key: key} -> |     |> Enum.into(%{}, fn %{key: key} -> | ||||||
|       value = |       value = | ||||||
|         case key do |         case key do | ||||||
|           "date" -> |           :date -> | ||||||
|             {date, date |> display_date()} |             {date, date |> display_date()} | ||||||
|  |  | ||||||
|           "actions" -> |           :actions -> | ||||||
|             ~H""" |             ~H""" | ||||||
|             <div class="px-4 py-2 space-x-4 flex justify-center items-center"> |             <div class="px-4 py-2 space-x-4 flex justify-center items-center"> | ||||||
|               <%= live_patch to: Routes.ammo_group_show_path(Endpoint, :edit_shot_group, @ammo_group, shot_group), |               <%= live_patch to: Routes.ammo_group_show_path(Endpoint, :edit_shot_group, @ammo_group, shot_group), | ||||||
| @@ -136,7 +136,7 @@ defmodule CanneryWeb.AmmoGroupLive.Show do | |||||||
|             """ |             """ | ||||||
|  |  | ||||||
|           key -> |           key -> | ||||||
|             shot_group |> Map.get(key |> String.to_existing_atom()) |             shot_group |> Map.get(key) | ||||||
|         end |         end | ||||||
|  |  | ||||||
|       {key, value} |       {key, value} | ||||||
|   | |||||||
| @@ -48,29 +48,29 @@ defmodule CanneryWeb.AmmoTypeLive.Index do | |||||||
|  |  | ||||||
|     columns = |     columns = | ||||||
|       [ |       [ | ||||||
|         %{label: gettext("Name"), key: "name", type: :string}, |         %{label: gettext("Name"), key: :name, type: :name}, | ||||||
|         %{label: gettext("Bullet type"), key: "bullet_type", type: :string}, |         %{label: gettext("Bullet type"), key: :bullet_type, type: :string}, | ||||||
|         %{label: gettext("Bullet core"), key: "bullet_core", type: :string}, |         %{label: gettext("Bullet core"), key: :bullet_core, type: :string}, | ||||||
|         %{label: gettext("Cartridge"), key: "cartridge", type: :string}, |         %{label: gettext("Cartridge"), key: :cartridge, type: :string}, | ||||||
|         %{label: gettext("Caliber"), key: "caliber", type: :string}, |         %{label: gettext("Caliber"), key: :caliber, type: :string}, | ||||||
|         %{label: gettext("Case material"), key: "case_material", type: :string}, |         %{label: gettext("Case material"), key: :case_material, type: :string}, | ||||||
|         %{label: gettext("Jacket type"), key: "jacket_type", type: :string}, |         %{label: gettext("Jacket type"), key: :jacket_type, type: :string}, | ||||||
|         %{label: gettext("Muzzle velocity"), key: "muzzle_velocity", type: :string}, |         %{label: gettext("Muzzle velocity"), key: :muzzle_velocity, type: :string}, | ||||||
|         %{label: gettext("Powder type"), key: "powder_type", type: :string}, |         %{label: gettext("Powder type"), key: :powder_type, type: :string}, | ||||||
|         %{ |         %{ | ||||||
|           label: gettext("Powder grains per charge"), |           label: gettext("Powder grains per charge"), | ||||||
|           key: "powder_grains_per_charge", |           key: :powder_grains_per_charge, | ||||||
|           type: :string |           type: :string | ||||||
|         }, |         }, | ||||||
|         %{label: gettext("Grains"), key: "grains", type: :string}, |         %{label: gettext("Grains"), key: :grains, type: :string}, | ||||||
|         %{label: gettext("Pressure"), key: "pressure", type: :string}, |         %{label: gettext("Pressure"), key: :pressure, type: :string}, | ||||||
|         %{label: gettext("Primer type"), key: "primer_type", type: :string}, |         %{label: gettext("Primer type"), key: :primer_type, type: :string}, | ||||||
|         %{label: gettext("Firing type"), key: "firing_type", type: :string}, |         %{label: gettext("Firing type"), key: :firing_type, type: :string}, | ||||||
|         %{label: gettext("Tracer"), key: "tracer", type: :boolean}, |         %{label: gettext("Tracer"), key: :tracer, type: :boolean}, | ||||||
|         %{label: gettext("Incendiary"), key: "incendiary", type: :boolean}, |         %{label: gettext("Incendiary"), key: :incendiary, type: :boolean}, | ||||||
|         %{label: gettext("Blank"), key: "blank", type: :boolean}, |         %{label: gettext("Blank"), key: :blank, type: :boolean}, | ||||||
|         %{label: gettext("Corrosive"), key: "corrosive", type: :boolean}, |         %{label: gettext("Corrosive"), key: :corrosive, type: :boolean}, | ||||||
|         %{label: gettext("Manufacturer"), key: "manufacturer", type: :string}, |         %{label: gettext("Manufacturer"), key: :manufacturer, type: :string}, | ||||||
|         %{label: gettext("UPC"), key: "upc", type: :string} |         %{label: gettext("UPC"), key: "upc", type: :string} | ||||||
|       ] |       ] | ||||||
|       |> Enum.filter(fn %{key: key, type: type} -> |       |> Enum.filter(fn %{key: key, type: type} -> | ||||||
| @@ -83,8 +83,9 @@ defmodule CanneryWeb.AmmoTypeLive.Index do | |||||||
|         end) |         end) | ||||||
|       end) |       end) | ||||||
|       |> Kernel.++([ |       |> Kernel.++([ | ||||||
|         %{label: gettext("Total # of rounds"), key: "round_count", type: :round_count}, |         %{label: gettext("Total # of rounds"), key: :round_count, type: :round_count}, | ||||||
|         %{label: gettext("Average Price paid"), key: "avg_price_paid", type: :avg_price_paid}, |         %{label: gettext("Total # of ammo"), key: :ammo_count, type: :ammo_count}, | ||||||
|  |         %{label: gettext("Average Price paid"), key: :avg_price_paid, type: :avg_price_paid}, | ||||||
|         %{label: nil, key: "actions", type: :actions, sortable: false} |         %{label: nil, key: "actions", type: :actions, sortable: false} | ||||||
|       ]) |       ]) | ||||||
|  |  | ||||||
| @@ -103,11 +104,14 @@ defmodule CanneryWeb.AmmoTypeLive.Index do | |||||||
|   end |   end | ||||||
|  |  | ||||||
|   defp get_ammo_type_value(:boolean, key, ammo_type, _current_user), |   defp get_ammo_type_value(:boolean, key, ammo_type, _current_user), | ||||||
|     do: ammo_type |> Map.get(key |> String.to_existing_atom()) |> humanize() |     do: ammo_type |> Map.get(key) |> humanize() | ||||||
|  |  | ||||||
|   defp get_ammo_type_value(:round_count, _key, ammo_type, current_user), |   defp get_ammo_type_value(:round_count, _key, ammo_type, current_user), | ||||||
|     do: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user) |     do: ammo_type |> Ammo.get_round_count_for_ammo_type(current_user) | ||||||
|  |  | ||||||
|  |   defp get_ammo_type_value(:ammo_count, _key, ammo_type, current_user), | ||||||
|  |     do: ammo_type |> Ammo.get_ammo_groups_count_for_type(current_user) | ||||||
|  |  | ||||||
|   defp get_ammo_type_value(:avg_price_paid, _key, ammo_type, current_user) do |   defp get_ammo_type_value(:avg_price_paid, _key, ammo_type, current_user) do | ||||||
|     case ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user) do |     case ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user) do | ||||||
|       nil -> gettext("No cost information") |       nil -> gettext("No cost information") | ||||||
| @@ -115,6 +119,18 @@ defmodule CanneryWeb.AmmoTypeLive.Index do | |||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   defp get_ammo_type_value(:name, _key, ammo_type, _current_user) do | ||||||
|  |     assigns = %{ammo_type: ammo_type} | ||||||
|  |  | ||||||
|  |     ~H""" | ||||||
|  |     <%= live_redirect to: Routes.ammo_type_show_path(Endpoint, :show, ammo_type), | ||||||
|  |       class: "link", | ||||||
|  |       data: [qa: "view-name-#{ammo_type.id}"] do %> | ||||||
|  |       <%= ammo_type.name %> | ||||||
|  |     <% end %> | ||||||
|  |     """ | ||||||
|  |   end | ||||||
|  |  | ||||||
|   defp get_ammo_type_value(:actions, _key, ammo_type, _current_user) do |   defp get_ammo_type_value(:actions, _key, ammo_type, _current_user) do | ||||||
|     assigns = %{ammo_type: ammo_type} |     assigns = %{ammo_type: ammo_type} | ||||||
|  |  | ||||||
| @@ -148,6 +164,5 @@ defmodule CanneryWeb.AmmoTypeLive.Index do | |||||||
|  |  | ||||||
|   defp get_ammo_type_value(nil, _key, _ammo_type, _current_user), do: nil |   defp get_ammo_type_value(nil, _key, _ammo_type, _current_user), do: nil | ||||||
|  |  | ||||||
|   defp get_ammo_type_value(_other, key, ammo_type, _current_user), |   defp get_ammo_type_value(_other, key, ammo_type, _current_user), do: ammo_type |> Map.get(key) | ||||||
|     do: ammo_type |> Map.get(key |> String.to_existing_atom()) |  | ||||||
| end | end | ||||||
|   | |||||||
| @@ -9,22 +9,12 @@ defmodule CanneryWeb.AmmoTypeLive.Show do | |||||||
|   alias CanneryWeb.Endpoint |   alias CanneryWeb.Endpoint | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
|   def mount(_params, _session, socket), do: {:ok, socket} |   def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)} | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
|   def handle_params(%{"id" => id}, _params, %{assigns: %{current_user: current_user}} = socket) do |   def handle_params(%{"id" => id}, _params, %{assigns: %{current_user: current_user}} = socket) do | ||||||
|     ammo_type = Ammo.get_ammo_type!(id, current_user) |     ammo_type = Ammo.get_ammo_type!(id, current_user) | ||||||
|  |     {:noreply, socket |> display_ammo_type(ammo_type)} | ||||||
|     socket = |  | ||||||
|       socket |  | ||||||
|       |> assign( |  | ||||||
|         page_title: page_title(socket.assigns.live_action), |  | ||||||
|         ammo_type: ammo_type, |  | ||||||
|         ammo_groups: ammo_type |> Ammo.list_ammo_groups_for_type(current_user), |  | ||||||
|         avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user) |  | ||||||
|       ) |  | ||||||
|  |  | ||||||
|     {:noreply, socket} |  | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
| @@ -41,6 +31,34 @@ defmodule CanneryWeb.AmmoTypeLive.Show do | |||||||
|     {:noreply, socket |> put_flash(:info, prompt) |> push_redirect(to: redirect_to)} |     {:noreply, socket |> put_flash(:info, prompt) |> push_redirect(to: redirect_to)} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   @impl true | ||||||
|  |   def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do | ||||||
|  |     {:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()} | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   defp display_ammo_type( | ||||||
|  |          %{ | ||||||
|  |            assigns: %{ | ||||||
|  |              live_action: live_action, | ||||||
|  |              current_user: current_user, | ||||||
|  |              show_used: show_used | ||||||
|  |            } | ||||||
|  |          } = socket, | ||||||
|  |          ammo_type | ||||||
|  |        ) do | ||||||
|  |     socket | ||||||
|  |     |> assign( | ||||||
|  |       page_title: page_title(live_action), | ||||||
|  |       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) | ||||||
|  |     ) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   defp display_ammo_type(%{assigns: %{ammo_type: ammo_type}} = socket) do | ||||||
|  |     socket |> display_ammo_type(ammo_type) | ||||||
|  |   end | ||||||
|  |  | ||||||
|   defp page_title(:show), do: gettext("Show Ammo type") |   defp page_title(:show), do: gettext("Show Ammo type") | ||||||
|   defp page_title(:edit), do: gettext("Edit Ammo type") |   defp page_title(:edit), do: gettext("Edit Ammo type") | ||||||
| end | end | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| <div class="mx-auto px-4 sm:px-8 space-y-4 max-w-3xl | <div class="space-y-4 flex flex-col justify-center items-center"> | ||||||
|   flex flex-col justify-center items-center"> |  | ||||||
|   <h1 class="title text-2xl title-primary-500"> |   <h1 class="title text-2xl title-primary-500"> | ||||||
|     <%= @ammo_type.name %> |     <%= @ammo_type.name %> | ||||||
|   </h1> |   </h1> | ||||||
| @@ -114,6 +113,14 @@ | |||||||
|  |  | ||||||
|   <hr class="hr" /> |   <hr class="hr" /> | ||||||
|  |  | ||||||
|  |   <div class="flex flex-col justify-center items-center"> | ||||||
|  |     <.toggle_button action="toggle_show_used" value={@show_used}> | ||||||
|  |       <span class="title text-lg text-primary-600"> | ||||||
|  |         <%= gettext("Show used") %> | ||||||
|  |       </span> | ||||||
|  |     </.toggle_button> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|   <div> |   <div> | ||||||
|     <%= if @ammo_groups |> Enum.empty?() do %> |     <%= if @ammo_groups |> Enum.empty?() do %> | ||||||
|       <h2 class="mx-8 my-4 title text-lg text-primary-600"> |       <h2 class="mx-8 my-4 title text-lg text-primary-600"> | ||||||
| @@ -123,7 +130,7 @@ | |||||||
|     <% else %> |     <% else %> | ||||||
|       <div class="flex flex-wrap justify-center items-center"> |       <div class="flex flex-wrap justify-center items-center"> | ||||||
|         <%= for ammo_group <- @ammo_groups do %> |         <%= for ammo_group <- @ammo_groups do %> | ||||||
|           <.ammo_group_card ammo_group={ammo_group} /> |           <.ammo_group_card ammo_group={ammo_group} show_container={true} /> | ||||||
|         <% end %> |         <% end %> | ||||||
|       </div> |       </div> | ||||||
|     <% end %> |     <% end %> | ||||||
|   | |||||||
| @@ -5,13 +5,13 @@ defmodule CanneryWeb.ContainerLive.Show do | |||||||
|  |  | ||||||
|   use CanneryWeb, :live_view |   use CanneryWeb, :live_view | ||||||
|   import CanneryWeb.Components.{AmmoGroupCard, TagCard} |   import CanneryWeb.Components.{AmmoGroupCard, TagCard} | ||||||
|   alias Cannery.{Accounts.User, Containers, Containers.Container, Repo, Tags} |   alias Cannery.{Accounts.User, Ammo, Containers, Containers.Container, Repo, Tags} | ||||||
|   alias CanneryWeb.Endpoint |   alias CanneryWeb.Endpoint | ||||||
|   alias Ecto.Changeset |   alias Ecto.Changeset | ||||||
|   alias Phoenix.LiveView.Socket |   alias Phoenix.LiveView.Socket | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
|   def mount(_params, _session, socket), do: {:ok, socket} |   def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)} | ||||||
|  |  | ||||||
|   @impl true |   @impl true | ||||||
|   def handle_params( |   def handle_params( | ||||||
| @@ -39,7 +39,7 @@ defmodule CanneryWeb.ContainerLive.Show do | |||||||
|               container_name: container.name |               container_name: container.name | ||||||
|             ) |             ) | ||||||
|  |  | ||||||
|           socket |> put_flash(:info, prompt) |> render_container(container.id, current_user) |           socket |> put_flash(:info, prompt) |> render_container() | ||||||
|  |  | ||||||
|         {:error, error_string} -> |         {:error, error_string} -> | ||||||
|           socket |> put_flash(:error, error_string) |           socket |> put_flash(:error, error_string) | ||||||
| @@ -82,12 +82,23 @@ defmodule CanneryWeb.ContainerLive.Show do | |||||||
|     {:noreply, socket} |     {:noreply, socket} | ||||||
|   end |   end | ||||||
|  |  | ||||||
|  |   @impl true | ||||||
|  |   def handle_event("toggle_show_used", _params, %{assigns: %{show_used: show_used}} = socket) do | ||||||
|  |     {:noreply, socket |> assign(:show_used, !show_used) |> render_container()} | ||||||
|  |   end | ||||||
|  |  | ||||||
|   @spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t() |   @spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t() | ||||||
|   defp render_container(%{assigns: %{live_action: live_action}} = socket, id, current_user) do |   defp render_container( | ||||||
|  |          %{assigns: %{live_action: live_action, show_used: show_used}} = socket, | ||||||
|  |          id, | ||||||
|  |          current_user | ||||||
|  |        ) do | ||||||
|     %{name: container_name} = |     %{name: container_name} = | ||||||
|       container = |       container = | ||||||
|       Containers.get_container!(id, current_user) |       Containers.get_container!(id, current_user) | ||||||
|       |> Repo.preload([:ammo_groups, :tags], force: true) |       |> Repo.preload([:tags], force: true) | ||||||
|  |  | ||||||
|  |     ammo_groups = Ammo.list_ammo_groups_for_container(container, current_user, show_used) | ||||||
|  |  | ||||||
|     page_title = |     page_title = | ||||||
|       case live_action do |       case live_action do | ||||||
| @@ -96,6 +107,13 @@ defmodule CanneryWeb.ContainerLive.Show do | |||||||
|         :edit_tags -> gettext("Edit %{name} tags", name: container_name) |         :edit_tags -> gettext("Edit %{name} tags", name: container_name) | ||||||
|       end |       end | ||||||
|  |  | ||||||
|     socket |> assign(container: container, page_title: page_title) |     socket |> assign(container: container, ammo_groups: ammo_groups, page_title: page_title) | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   @spec render_container(Socket.t()) :: Socket.t() | ||||||
|  |   defp render_container( | ||||||
|  |          %{assigns: %{container: %{id: container_id}, current_user: current_user}} = socket | ||||||
|  |        ) do | ||||||
|  |     socket |> render_container(container_id, current_user) | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| <div class="mx-auto space-y-4 max-w-3xl flex flex-col justify-center items-center"> | <div class="space-y-4 flex flex-col justify-center items-center"> | ||||||
|   <h1 class="title text-2xl title-primary-500"> |   <h1 class="title text-2xl title-primary-500"> | ||||||
|     <%= @container.name %> |     <%= @container.name %> | ||||||
|   </h1> |   </h1> | ||||||
| @@ -22,10 +22,10 @@ | |||||||
|     </span> |     </span> | ||||||
|   <% end %> |   <% end %> | ||||||
|  |  | ||||||
|   <%= unless @container.ammo_groups |> Enum.empty?() do %> |   <%= unless @ammo_groups |> Enum.empty?() do %> | ||||||
|     <span class="rounded-lg title text-lg"> |     <span class="rounded-lg title text-lg"> | ||||||
|       <%= gettext("Packs:") %> |       <%= gettext("Packs:") %> | ||||||
|       <%= @container |> Containers.get_container_ammo_group_count!() %> |       <%= Enum.count(@ammo_groups) %> | ||||||
|     </span> |     </span> | ||||||
|  |  | ||||||
|     <span class="rounded-lg title text-lg"> |     <span class="rounded-lg title text-lg"> | ||||||
| @@ -84,14 +84,22 @@ | |||||||
|  |  | ||||||
|   <hr class="mb-4 hr" /> |   <hr class="mb-4 hr" /> | ||||||
|  |  | ||||||
|  |   <div class="flex flex-col justify-center items-center"> | ||||||
|  |     <.toggle_button action="toggle_show_used" value={@show_used}> | ||||||
|  |       <span class="title text-lg text-primary-600"> | ||||||
|  |         <%= gettext("Show used") %> | ||||||
|  |       </span> | ||||||
|  |     </.toggle_button> | ||||||
|  |   </div> | ||||||
|  |  | ||||||
|   <div> |   <div> | ||||||
|     <%= if @container.ammo_groups |> Enum.empty?() do %> |     <%= if @ammo_groups |> Enum.empty?() do %> | ||||||
|       <h2 class="mx-8 my-4 title text-lg text-primary-600"> |       <h2 class="mx-8 my-4 title text-lg text-primary-600"> | ||||||
|         <%= gettext("No ammo in this container") %> |         <%= gettext("No ammo in this container") %> | ||||||
|       </h2> |       </h2> | ||||||
|     <% else %> |     <% else %> | ||||||
|       <div class="flex flex-wrap justify-center items-center"> |       <div class="flex flex-wrap justify-center items-center"> | ||||||
|         <%= for ammo_group <- @container.ammo_groups do %> |         <%= for ammo_group <- @ammo_groups do %> | ||||||
|           <.ammo_group_card ammo_group={ammo_group} /> |           <.ammo_group_card ammo_group={ammo_group} /> | ||||||
|         <% end %> |         <% end %> | ||||||
|       </div> |       </div> | ||||||
|   | |||||||
| @@ -77,10 +77,10 @@ defmodule CanneryWeb.RangeLive.Index do | |||||||
|     ammo_groups = Ammo.list_staged_ammo_groups(current_user) |     ammo_groups = Ammo.list_staged_ammo_groups(current_user) | ||||||
|  |  | ||||||
|     columns = [ |     columns = [ | ||||||
|       %{label: gettext("Ammo"), key: "name"}, |       %{label: gettext("Ammo"), key: :name}, | ||||||
|       %{label: gettext("Rounds shot"), key: "count"}, |       %{label: gettext("Rounds shot"), key: :count}, | ||||||
|       %{label: gettext("Notes"), key: "notes"}, |       %{label: gettext("Notes"), key: :notes}, | ||||||
|       %{label: gettext("Date"), key: "date"}, |       %{label: gettext("Date"), key: :date}, | ||||||
|       %{label: nil, key: "actions", sortable: false} |       %{label: nil, key: "actions", sortable: false} | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
| @@ -101,17 +101,17 @@ defmodule CanneryWeb.RangeLive.Index do | |||||||
|     |> Enum.into(%{}, fn %{key: key} -> |     |> Enum.into(%{}, fn %{key: key} -> | ||||||
|       value = |       value = | ||||||
|         case key do |         case key do | ||||||
|           "name" -> |           :name -> | ||||||
|             {shot_group.ammo_group.ammo_type.name, |             {shot_group.ammo_group.ammo_type.name, | ||||||
|              live_patch(shot_group.ammo_group.ammo_type.name, |              live_patch(shot_group.ammo_group.ammo_type.name, | ||||||
|                to: Routes.ammo_group_show_path(Endpoint, :show, shot_group.ammo_group), |                to: Routes.ammo_group_show_path(Endpoint, :show, shot_group.ammo_group), | ||||||
|                class: "link" |                class: "link" | ||||||
|              )} |              )} | ||||||
|  |  | ||||||
|           "date" -> |           :date -> | ||||||
|             date |> display_date() |             date |> display_date() | ||||||
|  |  | ||||||
|           "actions" -> |           :actions -> | ||||||
|             ~H""" |             ~H""" | ||||||
|             <div class="px-4 py-2 space-x-4 flex justify-center items-center"> |             <div class="px-4 py-2 space-x-4 flex justify-center items-center"> | ||||||
|               <%= live_patch to: Routes.range_index_path(Endpoint, :edit, shot_group), |               <%= live_patch to: Routes.range_index_path(Endpoint, :edit, shot_group), | ||||||
| @@ -134,7 +134,7 @@ defmodule CanneryWeb.RangeLive.Index do | |||||||
|             """ |             """ | ||||||
|  |  | ||||||
|           key -> |           key -> | ||||||
|             shot_group |> Map.get(key |> String.to_existing_atom()) |             shot_group |> Map.get(key) | ||||||
|         end |         end | ||||||
|  |  | ||||||
|       {key, value} |       {key, value} | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ | |||||||
|     </div> |     </div> | ||||||
|   </header> |   </header> | ||||||
|  |  | ||||||
|   <div class="mx-4 sm:mx-8 md:mx-16"> |   <div class="mx-4 sm:mx-8 md:mx-16 flex flex-col justify-center items-stretch"> | ||||||
|     <%= @inner_content %> |     <%= @inner_content %> | ||||||
|   </div> |   </div> | ||||||
| </main> | </main> | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ defmodule CanneryWeb.ViewHelpers do | |||||||
|   :view` |   :view` | ||||||
|   """ |   """ | ||||||
|  |  | ||||||
|  |   import Phoenix.LiveView | ||||||
|   import Phoenix.LiveView.Helpers |   import Phoenix.LiveView.Helpers | ||||||
|  |  | ||||||
|   @id_length 16 |   @id_length 16 | ||||||
| @@ -65,4 +66,43 @@ defmodule CanneryWeb.ViewHelpers do | |||||||
|       if(Application.get_env(:cannery, CanneryWeb.ViewHelpers)[:shibao_mode], do: "q_q", else: "😔") |       if(Application.get_env(:cannery, CanneryWeb.ViewHelpers)[:shibao_mode], do: "q_q", else: "😔") | ||||||
|  |  | ||||||
|   def display_emoji(other_emoji), do: other_emoji |   def display_emoji(other_emoji), do: other_emoji | ||||||
|  |  | ||||||
|  |   @doc """ | ||||||
|  |   A toggle button element that can be directed to a liveview or a | ||||||
|  |   live_component's `handle_event/3`. | ||||||
|  |  | ||||||
|  |   ## Examples | ||||||
|  |  | ||||||
|  |   <.toggle_button action="my_liveview_action" value={@some_value}> | ||||||
|  |     <span>Toggle me!</span> | ||||||
|  |   </.toggle_button> | ||||||
|  |   <.toggle_button action="my_live_component_action" target={@myself} value={@some_value}> | ||||||
|  |     <span>Whatever you want</span> | ||||||
|  |   </.toggle_button> | ||||||
|  |   """ | ||||||
|  |   def toggle_button(assigns) do | ||||||
|  |     assigns = assigns |> assign_new(:id, fn -> assigns.action end) | ||||||
|  |  | ||||||
|  |     ~H""" | ||||||
|  |     <label for={@id} class="inline-flex relative items-center cursor-pointer"> | ||||||
|  |       <input | ||||||
|  |         type="checkbox" | ||||||
|  |         value={@value} | ||||||
|  |         checked={@value} | ||||||
|  |         id={@id} | ||||||
|  |         class="sr-only peer" | ||||||
|  |         { | ||||||
|  |           if assigns |> Map.has_key?(:target), | ||||||
|  |             do: %{"phx-click" => @action, "phx-value-value" => @value, "phx-target" => @target}, | ||||||
|  |             else: %{"phx-click" => @action, "phx-value-value" => @value} | ||||||
|  |         } | ||||||
|  |       /> | ||||||
|  |       <div class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-teal-300 dark:peer-focus:ring-teal-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-1 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-teal-600"> | ||||||
|  |       </div> | ||||||
|  |       <span class="ml-3 text-sm font-medium text-gray-900 dark:text-gray-300"> | ||||||
|  |         <%= render_slot(@inner_block) %> | ||||||
|  |       </span> | ||||||
|  |     </label> | ||||||
|  |     """ | ||||||
|  |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -156,7 +156,7 @@ msgid "Why not get some ready to shoot?" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:151 | #: lib/cannery_web/live/ammo_group_live/index.ex:183 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | ||||||
| #: lib/cannery_web/live/range_live/index.html.heex:36 | #: lib/cannery_web/live/range_live/index.html.heex:36 | ||||||
| msgid "Record shots" | msgid "Record shots" | ||||||
|   | |||||||
| @@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?" | |||||||
| msgstr "Warum nicht einige für den Schießstand auswählen?" | msgstr "Warum nicht einige für den Schießstand auswählen?" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:151 | #: lib/cannery_web/live/ammo_group_live/index.ex:183 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | ||||||
| #: lib/cannery_web/live/range_live/index.html.heex:36 | #: lib/cannery_web/live/range_live/index.html.heex:36 | ||||||
| msgid "Record shots" | msgid "Record shots" | ||||||
|   | |||||||
| @@ -54,13 +54,13 @@ msgstr "Munition" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:81 | #: lib/cannery_web/live/ammo_group_live/index.ex:90 | ||||||
| msgid "Ammo type" | msgid "Ammo type" | ||||||
| msgstr "Munitionsarten" | msgstr "Munitionsarten" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:87 | #: lib/cannery_web/live/ammo_type_live/index.ex:88 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:100 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:99 | ||||||
| msgid "Average Price paid" | msgid "Average Price paid" | ||||||
| msgstr "Durchschnittlicher Kaufpreis" | msgstr "Durchschnittlicher Kaufpreis" | ||||||
|  |  | ||||||
| @@ -72,7 +72,7 @@ msgstr "Hintergrundfarbe" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:71 | #: lib/cannery_web/live/ammo_type_live/index.ex:71 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | ||||||
| msgid "Blank" | msgid "Blank" | ||||||
| msgstr "Knallpatrone" | msgstr "Knallpatrone" | ||||||
|  |  | ||||||
| @@ -84,42 +84,42 @@ msgstr "Messing" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:53 | #: lib/cannery_web/live/ammo_type_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | ||||||
| msgid "Bullet core" | msgid "Bullet core" | ||||||
| msgstr "Projektilkern" | msgstr "Projektilkern" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:52 | #: lib/cannery_web/live/ammo_type_live/index.ex:52 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 | ||||||
| msgid "Bullet type" | msgid "Bullet type" | ||||||
| msgstr "Patronenart" | msgstr "Patronenart" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:55 | #: lib/cannery_web/live/ammo_type_live/index.ex:55 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | ||||||
| msgid "Caliber" | msgid "Caliber" | ||||||
| msgstr "Kaliber" | msgstr "Kaliber" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:54 | #: lib/cannery_web/live/ammo_type_live/index.ex:54 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | ||||||
| msgid "Cartridge" | msgid "Cartridge" | ||||||
| msgstr "Patrone" | msgstr "Patrone" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:56 | #: lib/cannery_web/live/ammo_type_live/index.ex:56 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | ||||||
| msgid "Case material" | msgid "Case material" | ||||||
| msgstr "Gehäusematerial" | msgstr "Gehäusematerial" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:67 | #: 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/form_component.html.heex:48 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:86 | #: lib/cannery_web/live/ammo_group_live/index.ex:95 | ||||||
| msgid "Container" | msgid "Container" | ||||||
| msgstr "Behälter" | msgstr "Behälter" | ||||||
|  |  | ||||||
| @@ -133,18 +133,18 @@ msgstr "Behälter" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:72 | #: lib/cannery_web/live/ammo_type_live/index.ex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | ||||||
| msgid "Corrosive" | msgid "Corrosive" | ||||||
| msgstr "Korrosiv" | msgstr "Korrosiv" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:82 | #: lib/cannery_web/live/ammo_group_live/index.ex:91 | ||||||
| msgid "Count" | msgid "Count" | ||||||
| msgstr "Anzahl" | msgstr "Anzahl" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:29 | #: lib/cannery_web/components/ammo_group_card.ex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | ||||||
| msgid "Count:" | msgid "Count:" | ||||||
| msgstr "Anzahl:" | msgstr "Anzahl:" | ||||||
| @@ -178,7 +178,7 @@ msgstr "Munitionsgruppe bearbeiten" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:23 | #: lib/cannery_web/live/ammo_type_live/index.ex:23 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:45 | #: lib/cannery_web/live/ammo_type_live/show.ex:63 | ||||||
| msgid "Edit Ammo type" | msgid "Edit Ammo type" | ||||||
| msgstr "Munitionstyp bearbeiten" | msgstr "Munitionstyp bearbeiten" | ||||||
|  |  | ||||||
| @@ -210,14 +210,14 @@ msgstr "VM" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:65 | #: lib/cannery_web/live/ammo_type_live/index.ex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | ||||||
| msgid "Grains" | msgid "Grains" | ||||||
| msgstr "Körner" | msgstr "Körner" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:70 | #: lib/cannery_web/live/ammo_type_live/index.ex:70 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | ||||||
| msgid "Incendiary" | msgid "Incendiary" | ||||||
| msgstr "Brandmunition" | msgstr "Brandmunition" | ||||||
|  |  | ||||||
| @@ -268,7 +268,7 @@ msgstr "Magazin, Ladestreifen, Munitionskiste usw." | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:73 | #: lib/cannery_web/live/ammo_type_live/index.ex:73 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | ||||||
| msgid "Manufacturer" | msgid "Manufacturer" | ||||||
| msgstr "Hersteller" | msgstr "Hersteller" | ||||||
|  |  | ||||||
| @@ -322,7 +322,7 @@ msgid "No Ammo Types" | |||||||
| msgstr "Keine Munitionsarten" | msgstr "Keine Munitionsarten" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:120 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:127 | ||||||
| msgid "No ammo for this type" | msgid "No ammo for this type" | ||||||
| msgstr "Keine Munition dieser Art" | msgstr "Keine Munition dieser Art" | ||||||
|  |  | ||||||
| @@ -352,7 +352,7 @@ msgid "Notes" | |||||||
| msgstr "Bemerkungen" | msgstr "Bemerkungen" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:35 | #: lib/cannery_web/components/ammo_group_card.ex:40 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | ||||||
| msgid "Notes:" | msgid "Notes:" | ||||||
| msgstr "Bemerkungen:" | msgstr "Bemerkungen:" | ||||||
| @@ -365,25 +365,25 @@ msgstr "Auf dem Bücherregal" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:66 | #: lib/cannery_web/live/ammo_type_live/index.ex:66 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | ||||||
| msgid "Pressure" | msgid "Pressure" | ||||||
| msgstr "Druck" | msgstr "Druck" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:83 | #: lib/cannery_web/live/ammo_group_live/index.ex:92 | ||||||
| msgid "Price paid" | msgid "Price paid" | ||||||
| msgstr "Kaufpreis" | msgstr "Kaufpreis" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:47 | #: lib/cannery_web/components/ammo_group_card.ex:59 | ||||||
| msgid "Price paid:" | msgid "Price paid:" | ||||||
| msgstr "Kaufpreis:" | msgstr "Kaufpreis:" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:67 | #: lib/cannery_web/live/ammo_type_live/index.ex:67 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | ||||||
| msgid "Primer type" | msgid "Primer type" | ||||||
| msgstr "Zündertyp" | msgstr "Zündertyp" | ||||||
|  |  | ||||||
| @@ -416,7 +416,7 @@ msgid "Settings" | |||||||
| msgstr "Einstellungen" | msgstr "Einstellungen" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:44 | #: lib/cannery_web/live/ammo_type_live/show.ex:62 | ||||||
| msgid "Show Ammo type" | msgid "Show Ammo type" | ||||||
| msgstr "Zeige Munitionsarten" | msgstr "Zeige Munitionsarten" | ||||||
|  |  | ||||||
| @@ -460,7 +460,7 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:69 | #: lib/cannery_web/live/ammo_type_live/index.ex:69 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | ||||||
| msgid "Tracer" | msgid "Tracer" | ||||||
| msgstr "Leuchtspur" | msgstr "Leuchtspur" | ||||||
|  |  | ||||||
| @@ -508,7 +508,7 @@ msgstr "Keine Tags für diesen Behälter" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/topbar.ex:68 | #: lib/cannery_web/components/topbar.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:85 | #: lib/cannery_web/live/ammo_group_live/index.ex:94 | ||||||
| msgid "Range" | msgid "Range" | ||||||
| msgstr "Schießplatz" | msgstr "Schießplatz" | ||||||
|  |  | ||||||
| @@ -601,6 +601,7 @@ msgstr "Munitionsgruppe verschieben" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:80 | #: lib/cannery_web/components/move_ammo_group_component.ex:80 | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:240 | ||||||
| msgid "Move ammo" | msgid "Move ammo" | ||||||
| msgstr "Munition verschieben" | msgstr "Munition verschieben" | ||||||
|  |  | ||||||
| @@ -615,12 +616,12 @@ msgid "Shot log" | |||||||
| msgstr "Schießkladde" | msgstr "Schießkladde" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:48 | #: lib/cannery_web/components/ammo_group_card.ex:60 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:125 | #: lib/cannery_web/live/ammo_group_live/index.ex:142 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:114 | #: lib/cannery_web/live/ammo_type_live/index.ex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:104 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:103 | ||||||
| msgid "$%{amount}" | msgid "$%{amount}" | ||||||
| msgstr "$%{amount}" | msgstr "$%{amount}" | ||||||
|  |  | ||||||
| @@ -632,35 +633,35 @@ msgstr "Bimetall" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:57 | #: lib/cannery_web/live/ammo_type_live/index.ex:57 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | ||||||
| msgid "Jacket type" | msgid "Jacket type" | ||||||
| msgstr "Patronenhülse" | msgstr "Patronenhülse" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:58 | #: lib/cannery_web/live/ammo_type_live/index.ex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | ||||||
| msgid "Muzzle velocity" | msgid "Muzzle velocity" | ||||||
| msgstr "Mündungsgeschwindigkeit" | msgstr "Mündungsgeschwindigkeit" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:61 | #: lib/cannery_web/live/ammo_type_live/index.ex:61 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | ||||||
| msgid "Powder grains per charge" | msgid "Powder grains per charge" | ||||||
| msgstr "Pulverkörner pro Ladung" | msgstr "Pulverkörner pro Ladung" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:59 | #: lib/cannery_web/live/ammo_type_live/index.ex:59 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | ||||||
| msgid "Powder type" | msgid "Powder type" | ||||||
| msgstr "Pulverart" | msgstr "Pulverart" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:74 | #: lib/cannery_web/live/ammo_type_live/index.ex:74 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:56 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | ||||||
| msgid "UPC" | msgid "UPC" | ||||||
| msgstr "UPC" | msgstr "UPC" | ||||||
|  |  | ||||||
| @@ -681,19 +682,19 @@ msgid "New password" | |||||||
| msgstr "Neues Passwort" | msgstr "Neues Passwort" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Stage" | msgid "Stage" | ||||||
| msgstr "Markiert" | msgstr "Markiert" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Unstage" | msgid "Unstage" | ||||||
| msgstr "Demarkiert" | msgstr "Demarkiert" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:68 | #: lib/cannery_web/live/ammo_type_live/index.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | ||||||
| msgid "Firing type" | msgid "Firing type" | ||||||
| msgstr "Patronenhülsenform" | msgstr "Patronenhülsenform" | ||||||
|  |  | ||||||
| @@ -709,13 +710,13 @@ msgstr "Lädt..." | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:27 | #: lib/cannery_web/live/container_live/index.ex:27 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:95 | #: lib/cannery_web/live/container_live/show.ex:106 | ||||||
| msgid "Edit %{name}" | msgid "Edit %{name}" | ||||||
| msgstr "%{name} bearbeiten" | msgstr "%{name} bearbeiten" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:46 | #: lib/cannery_web/live/container_live/index.ex:46 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:96 | #: lib/cannery_web/live/container_live/show.ex:107 | ||||||
| msgid "Edit %{name} tags" | msgid "Edit %{name} tags" | ||||||
| msgstr "Editiere %{name} Tags" | msgstr "Editiere %{name} Tags" | ||||||
|  |  | ||||||
| @@ -726,18 +727,18 @@ msgid "Rounds:" | |||||||
| msgstr "Patronen:" | msgstr "Patronen:" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.ex:94 | #: lib/cannery_web/live/container_live/show.ex:105 | ||||||
| msgid "Show %{name}" | msgid "Show %{name}" | ||||||
| msgstr "Zeige %{name}" | msgstr "Zeige %{name}" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:113 | #: lib/cannery_web/live/ammo_type_live/index.ex:117 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:110 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:109 | ||||||
| msgid "No cost information" | msgid "No cost information" | ||||||
| msgstr "Keine Preisinformationen" | msgstr "Keine Preisinformationen" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:84 | #: lib/cannery_web/live/ammo_group_live/index.ex:93 | ||||||
| msgid "% left" | msgid "% left" | ||||||
| msgstr "% verbleibend" | msgstr "% verbleibend" | ||||||
|  |  | ||||||
| @@ -767,7 +768,7 @@ msgid "Rounds used" | |||||||
| msgstr "Patronen verbraucht" | msgstr "Patronen verbraucht" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:75 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:74 | ||||||
| msgid "Current # of rounds:" | msgid "Current # of rounds:" | ||||||
| msgstr "Derzeitige # an Patronen:" | msgstr "Derzeitige # an Patronen:" | ||||||
|  |  | ||||||
| @@ -777,7 +778,7 @@ msgid "Total # of rounds" | |||||||
| msgstr "Summe aller Patronen" | msgstr "Summe aller Patronen" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:83 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:82 | ||||||
| msgid "Total rounds shot:" | msgid "Total rounds shot:" | ||||||
| msgstr "Summe abgegebener Schüsse:" | msgstr "Summe abgegebener Schüsse:" | ||||||
|  |  | ||||||
| @@ -823,14 +824,14 @@ msgid "Ammo types" | |||||||
| msgstr "Munitionsart" | msgstr "Munitionsart" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:87 | #: lib/cannery_web/live/ammo_group_live/index.ex:96 | ||||||
| msgid "Added on" | msgid "Added on" | ||||||
| msgstr "Hinzugefügt am" | msgstr "Hinzugefügt am" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:41 | #: lib/cannery_web/components/ammo_group_card.ex:46 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:90 | ||||||
| msgid "Added on:" | msgid "Added on:" | ||||||
| msgstr "Hinzugefügt am:" | msgstr "Hinzugefügt am:" | ||||||
|  |  | ||||||
| @@ -899,7 +900,7 @@ msgid "Move Ammo" | |||||||
| msgstr "Munition verschieben" | msgstr "Munition verschieben" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/container_live/show.html.heex:90 | #: lib/cannery_web/live/container_live/show.html.heex:98 | ||||||
| msgid "No ammo in this container" | msgid "No ammo in this container" | ||||||
| msgstr "Keine Munitionsgruppe in diesem Behälter" | msgstr "Keine Munitionsgruppe in diesem Behälter" | ||||||
|  |  | ||||||
| @@ -934,3 +935,30 @@ msgstr "" | |||||||
| #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | ||||||
| msgid "Leave \"Uses left\" blank to make invite unlimited" | msgid "Leave \"Uses left\" blank to make invite unlimited" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/index.ex:87 | ||||||
|  | msgid "Total # of ammo" | ||||||
|  | msgstr "Summe aller Patronen" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:68 | ||||||
|  | msgid "Container:" | ||||||
|  | msgstr "Behälter" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.html.heex:52 | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/show.html.heex:119 | ||||||
|  | #: lib/cannery_web/live/container_live/show.html.heex:90 | ||||||
|  | msgid "Show used" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:101 | ||||||
|  | msgid "Used up on" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:52 | ||||||
|  | msgid "Used up on:" | ||||||
|  | msgstr "" | ||||||
|   | |||||||
| @@ -188,7 +188,7 @@ msgstr "" | |||||||
| "%{multiplier}" | "%{multiplier}" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery/ammo.ex:407 | #: lib/cannery/ammo.ex:535 | ||||||
| msgid "Invalid multiplier" | msgid "Invalid multiplier" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ msgstr "%{name} erfolgreich erstellt" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:41 | #: lib/cannery_web/live/ammo_type_live/index.ex:41 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:38 | #: lib/cannery_web/live/ammo_type_live/show.ex:28 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:53 | #: lib/cannery_web/live/invite_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:133 | #: lib/cannery_web/live/invite_live/index.ex:133 | ||||||
| #: lib/cannery_web/live/tag_live/index.ex:38 | #: lib/cannery_web/live/tag_live/index.ex:38 | ||||||
| @@ -100,7 +100,7 @@ msgid "Are you sure you want to delete the invite for %{name}?" | |||||||
| msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?" | msgstr "Sind Sie sicher, dass sie die Einladung für %{name} löschen möchten?" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:184 | #: lib/cannery_web/live/ammo_group_live/index.ex:216 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | ||||||
| msgid "Are you sure you want to delete this ammo?" | msgid "Are you sure you want to delete this ammo?" | ||||||
| msgstr "Sind Sie sicher, dass sie diese Munition löschen möchten?" | msgstr "Sind Sie sicher, dass sie diese Munition löschen möchten?" | ||||||
| @@ -293,7 +293,7 @@ msgstr[0] "Munitionsgruppe erfolgreich aktualisiert" | |||||||
| msgstr[1] "Munitionsgruppe erfolgreich aktualisiert" | msgstr[1] "Munitionsgruppe erfolgreich aktualisiert" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:140 | #: lib/cannery_web/live/ammo_type_live/index.ex:156 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:27 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:26 | ||||||
| msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | ||||||
| msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?" | msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?" | ||||||
|   | |||||||
| @@ -39,13 +39,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:81 | #: lib/cannery_web/live/ammo_group_live/index.ex:90 | ||||||
| msgid "Ammo type" | msgid "Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:87 | #: lib/cannery_web/live/ammo_type_live/index.ex:88 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:100 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:99 | ||||||
| msgid "Average Price paid" | msgid "Average Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -57,7 +57,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:71 | #: lib/cannery_web/live/ammo_type_live/index.ex:71 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | ||||||
| msgid "Blank" | msgid "Blank" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -69,42 +69,42 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:53 | #: lib/cannery_web/live/ammo_type_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | ||||||
| msgid "Bullet core" | msgid "Bullet core" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:52 | #: lib/cannery_web/live/ammo_type_live/index.ex:52 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 | ||||||
| msgid "Bullet type" | msgid "Bullet type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:55 | #: lib/cannery_web/live/ammo_type_live/index.ex:55 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | ||||||
| msgid "Caliber" | msgid "Caliber" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:54 | #: lib/cannery_web/live/ammo_type_live/index.ex:54 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | ||||||
| msgid "Cartridge" | msgid "Cartridge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:56 | #: lib/cannery_web/live/ammo_type_live/index.ex:56 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | ||||||
| msgid "Case material" | msgid "Case material" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:67 | #: 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/form_component.html.heex:48 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:86 | #: lib/cannery_web/live/ammo_group_live/index.ex:95 | ||||||
| msgid "Container" | msgid "Container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -118,18 +118,18 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:72 | #: lib/cannery_web/live/ammo_type_live/index.ex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | ||||||
| msgid "Corrosive" | msgid "Corrosive" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:82 | #: lib/cannery_web/live/ammo_group_live/index.ex:91 | ||||||
| msgid "Count" | msgid "Count" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:29 | #: lib/cannery_web/components/ammo_group_card.ex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | ||||||
| msgid "Count:" | msgid "Count:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -163,7 +163,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:23 | #: lib/cannery_web/live/ammo_type_live/index.ex:23 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:45 | #: lib/cannery_web/live/ammo_type_live/show.ex:63 | ||||||
| msgid "Edit Ammo type" | msgid "Edit Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -195,14 +195,14 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:65 | #: lib/cannery_web/live/ammo_type_live/index.ex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | ||||||
| msgid "Grains" | msgid "Grains" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:70 | #: lib/cannery_web/live/ammo_type_live/index.ex:70 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | ||||||
| msgid "Incendiary" | msgid "Incendiary" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -253,7 +253,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:73 | #: lib/cannery_web/live/ammo_type_live/index.ex:73 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | ||||||
| msgid "Manufacturer" | msgid "Manufacturer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -307,7 +307,7 @@ msgid "No Ammo Types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:120 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:127 | ||||||
| msgid "No ammo for this type" | msgid "No ammo for this type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -337,7 +337,7 @@ msgid "Notes" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:35 | #: lib/cannery_web/components/ammo_group_card.ex:40 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | ||||||
| msgid "Notes:" | msgid "Notes:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -350,25 +350,25 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:66 | #: lib/cannery_web/live/ammo_type_live/index.ex:66 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | ||||||
| msgid "Pressure" | msgid "Pressure" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:83 | #: lib/cannery_web/live/ammo_group_live/index.ex:92 | ||||||
| msgid "Price paid" | msgid "Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:47 | #: lib/cannery_web/components/ammo_group_card.ex:59 | ||||||
| msgid "Price paid:" | msgid "Price paid:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:67 | #: lib/cannery_web/live/ammo_type_live/index.ex:67 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | ||||||
| msgid "Primer type" | msgid "Primer type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -399,7 +399,7 @@ msgid "Settings" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:44 | #: lib/cannery_web/live/ammo_type_live/show.ex:62 | ||||||
| msgid "Show Ammo type" | msgid "Show Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -443,7 +443,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:69 | #: lib/cannery_web/live/ammo_type_live/index.ex:69 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | ||||||
| msgid "Tracer" | msgid "Tracer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -491,7 +491,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/topbar.ex:68 | #: lib/cannery_web/components/topbar.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:85 | #: lib/cannery_web/live/ammo_group_live/index.ex:94 | ||||||
| msgid "Range" | msgid "Range" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -584,6 +584,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:80 | #: lib/cannery_web/components/move_ammo_group_component.ex:80 | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:240 | ||||||
| msgid "Move ammo" | msgid "Move ammo" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -598,12 +599,12 @@ msgid "Shot log" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:48 | #: lib/cannery_web/components/ammo_group_card.ex:60 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:125 | #: lib/cannery_web/live/ammo_group_live/index.ex:142 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:114 | #: lib/cannery_web/live/ammo_type_live/index.ex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:104 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:103 | ||||||
| msgid "$%{amount}" | msgid "$%{amount}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -615,35 +616,35 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:57 | #: lib/cannery_web/live/ammo_type_live/index.ex:57 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | ||||||
| msgid "Jacket type" | msgid "Jacket type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:58 | #: lib/cannery_web/live/ammo_type_live/index.ex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | ||||||
| msgid "Muzzle velocity" | msgid "Muzzle velocity" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:61 | #: lib/cannery_web/live/ammo_type_live/index.ex:61 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | ||||||
| msgid "Powder grains per charge" | msgid "Powder grains per charge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:59 | #: lib/cannery_web/live/ammo_type_live/index.ex:59 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | ||||||
| msgid "Powder type" | msgid "Powder type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:74 | #: lib/cannery_web/live/ammo_type_live/index.ex:74 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:56 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | ||||||
| msgid "UPC" | msgid "UPC" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -664,19 +665,19 @@ msgid "New password" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Stage" | msgid "Stage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Unstage" | msgid "Unstage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:68 | #: lib/cannery_web/live/ammo_type_live/index.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | ||||||
| msgid "Firing type" | msgid "Firing type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -692,13 +693,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:27 | #: lib/cannery_web/live/container_live/index.ex:27 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:95 | #: lib/cannery_web/live/container_live/show.ex:106 | ||||||
| msgid "Edit %{name}" | msgid "Edit %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:46 | #: lib/cannery_web/live/container_live/index.ex:46 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:96 | #: lib/cannery_web/live/container_live/show.ex:107 | ||||||
| msgid "Edit %{name} tags" | msgid "Edit %{name} tags" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -709,18 +710,18 @@ msgid "Rounds:" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.ex:94 | #: lib/cannery_web/live/container_live/show.ex:105 | ||||||
| msgid "Show %{name}" | msgid "Show %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:113 | #: lib/cannery_web/live/ammo_type_live/index.ex:117 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:110 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:109 | ||||||
| msgid "No cost information" | msgid "No cost information" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:84 | #: lib/cannery_web/live/ammo_group_live/index.ex:93 | ||||||
| msgid "% left" | msgid "% left" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -750,7 +751,7 @@ msgid "Rounds used" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:75 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:74 | ||||||
| msgid "Current # of rounds:" | msgid "Current # of rounds:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -760,7 +761,7 @@ msgid "Total # of rounds" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:83 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:82 | ||||||
| msgid "Total rounds shot:" | msgid "Total rounds shot:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -806,14 +807,14 @@ msgid "Ammo types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:87 | #: lib/cannery_web/live/ammo_group_live/index.ex:96 | ||||||
| msgid "Added on" | msgid "Added on" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:41 | #: lib/cannery_web/components/ammo_group_card.ex:46 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:90 | ||||||
| msgid "Added on:" | msgid "Added on:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -882,7 +883,7 @@ msgid "Move Ammo" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.html.heex:90 | #: lib/cannery_web/live/container_live/show.html.heex:98 | ||||||
| msgid "No ammo in this container" | msgid "No ammo in this container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -917,3 +918,30 @@ msgstr "" | |||||||
| #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | ||||||
| msgid "Leave \"Uses left\" blank to make invite unlimited" | msgid "Leave \"Uses left\" blank to make invite unlimited" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/index.ex:87 | ||||||
|  | msgid "Total # of ammo" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:68 | ||||||
|  | msgid "Container:" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.html.heex:52 | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/show.html.heex:119 | ||||||
|  | #: lib/cannery_web/live/container_live/show.html.heex:90 | ||||||
|  | msgid "Show used" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:101 | ||||||
|  | msgid "Used up on" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:52 | ||||||
|  | msgid "Used up on:" | ||||||
|  | msgstr "" | ||||||
|   | |||||||
| @@ -157,7 +157,7 @@ msgid "Why not get some ready to shoot?" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:151 | #: lib/cannery_web/live/ammo_group_live/index.ex:183 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | ||||||
| #: lib/cannery_web/live/range_live/index.html.heex:36 | #: lib/cannery_web/live/range_live/index.html.heex:36 | ||||||
| msgid "Record shots" | msgid "Record shots" | ||||||
|   | |||||||
| @@ -40,13 +40,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:81 | #: lib/cannery_web/live/ammo_group_live/index.ex:90 | ||||||
| msgid "Ammo type" | msgid "Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:87 | #: lib/cannery_web/live/ammo_type_live/index.ex:88 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:100 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:99 | ||||||
| msgid "Average Price paid" | msgid "Average Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -58,7 +58,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:71 | #: lib/cannery_web/live/ammo_type_live/index.ex:71 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | ||||||
| msgid "Blank" | msgid "Blank" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -70,42 +70,42 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:53 | #: lib/cannery_web/live/ammo_type_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | ||||||
| msgid "Bullet core" | msgid "Bullet core" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:52 | #: lib/cannery_web/live/ammo_type_live/index.ex:52 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 | ||||||
| msgid "Bullet type" | msgid "Bullet type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:55 | #: lib/cannery_web/live/ammo_type_live/index.ex:55 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | ||||||
| msgid "Caliber" | msgid "Caliber" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:54 | #: lib/cannery_web/live/ammo_type_live/index.ex:54 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | ||||||
| msgid "Cartridge" | msgid "Cartridge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:56 | #: lib/cannery_web/live/ammo_type_live/index.ex:56 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | ||||||
| msgid "Case material" | msgid "Case material" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:67 | #: 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/form_component.html.heex:48 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:86 | #: lib/cannery_web/live/ammo_group_live/index.ex:95 | ||||||
| msgid "Container" | msgid "Container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -119,18 +119,18 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:72 | #: lib/cannery_web/live/ammo_type_live/index.ex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | ||||||
| msgid "Corrosive" | msgid "Corrosive" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:82 | #: lib/cannery_web/live/ammo_group_live/index.ex:91 | ||||||
| msgid "Count" | msgid "Count" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:29 | #: lib/cannery_web/components/ammo_group_card.ex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | ||||||
| msgid "Count:" | msgid "Count:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -164,7 +164,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:23 | #: lib/cannery_web/live/ammo_type_live/index.ex:23 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:45 | #: lib/cannery_web/live/ammo_type_live/show.ex:63 | ||||||
| msgid "Edit Ammo type" | msgid "Edit Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -196,14 +196,14 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:65 | #: lib/cannery_web/live/ammo_type_live/index.ex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | ||||||
| msgid "Grains" | msgid "Grains" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:70 | #: lib/cannery_web/live/ammo_type_live/index.ex:70 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | ||||||
| msgid "Incendiary" | msgid "Incendiary" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -254,7 +254,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:73 | #: lib/cannery_web/live/ammo_type_live/index.ex:73 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | ||||||
| msgid "Manufacturer" | msgid "Manufacturer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -308,7 +308,7 @@ msgid "No Ammo Types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:120 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:127 | ||||||
| msgid "No ammo for this type" | msgid "No ammo for this type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -338,7 +338,7 @@ msgid "Notes" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:35 | #: lib/cannery_web/components/ammo_group_card.ex:40 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | ||||||
| msgid "Notes:" | msgid "Notes:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -351,25 +351,25 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:66 | #: lib/cannery_web/live/ammo_type_live/index.ex:66 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | ||||||
| msgid "Pressure" | msgid "Pressure" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:83 | #: lib/cannery_web/live/ammo_group_live/index.ex:92 | ||||||
| msgid "Price paid" | msgid "Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:47 | #: lib/cannery_web/components/ammo_group_card.ex:59 | ||||||
| msgid "Price paid:" | msgid "Price paid:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:67 | #: lib/cannery_web/live/ammo_type_live/index.ex:67 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | ||||||
| msgid "Primer type" | msgid "Primer type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -400,7 +400,7 @@ msgid "Settings" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:44 | #: lib/cannery_web/live/ammo_type_live/show.ex:62 | ||||||
| msgid "Show Ammo type" | msgid "Show Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -444,7 +444,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:69 | #: lib/cannery_web/live/ammo_type_live/index.ex:69 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | ||||||
| msgid "Tracer" | msgid "Tracer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -492,7 +492,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/topbar.ex:68 | #: lib/cannery_web/components/topbar.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:85 | #: lib/cannery_web/live/ammo_group_live/index.ex:94 | ||||||
| msgid "Range" | msgid "Range" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -585,6 +585,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:80 | #: lib/cannery_web/components/move_ammo_group_component.ex:80 | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:240 | ||||||
| msgid "Move ammo" | msgid "Move ammo" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -599,12 +600,12 @@ msgid "Shot log" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:48 | #: lib/cannery_web/components/ammo_group_card.ex:60 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:125 | #: lib/cannery_web/live/ammo_group_live/index.ex:142 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:114 | #: lib/cannery_web/live/ammo_type_live/index.ex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:104 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:103 | ||||||
| msgid "$%{amount}" | msgid "$%{amount}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -616,35 +617,35 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:57 | #: lib/cannery_web/live/ammo_type_live/index.ex:57 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | ||||||
| msgid "Jacket type" | msgid "Jacket type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:58 | #: lib/cannery_web/live/ammo_type_live/index.ex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | ||||||
| msgid "Muzzle velocity" | msgid "Muzzle velocity" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:61 | #: lib/cannery_web/live/ammo_type_live/index.ex:61 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | ||||||
| msgid "Powder grains per charge" | msgid "Powder grains per charge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:59 | #: lib/cannery_web/live/ammo_type_live/index.ex:59 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | ||||||
| msgid "Powder type" | msgid "Powder type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:74 | #: lib/cannery_web/live/ammo_type_live/index.ex:74 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:56 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | ||||||
| msgid "UPC" | msgid "UPC" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -665,19 +666,19 @@ msgid "New password" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Stage" | msgid "Stage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Unstage" | msgid "Unstage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:68 | #: lib/cannery_web/live/ammo_type_live/index.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | ||||||
| msgid "Firing type" | msgid "Firing type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -693,13 +694,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:27 | #: lib/cannery_web/live/container_live/index.ex:27 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:95 | #: lib/cannery_web/live/container_live/show.ex:106 | ||||||
| msgid "Edit %{name}" | msgid "Edit %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:46 | #: lib/cannery_web/live/container_live/index.ex:46 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:96 | #: lib/cannery_web/live/container_live/show.ex:107 | ||||||
| msgid "Edit %{name} tags" | msgid "Edit %{name} tags" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -710,18 +711,18 @@ msgid "Rounds:" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.ex:94 | #: lib/cannery_web/live/container_live/show.ex:105 | ||||||
| msgid "Show %{name}" | msgid "Show %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:113 | #: lib/cannery_web/live/ammo_type_live/index.ex:117 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:110 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:109 | ||||||
| msgid "No cost information" | msgid "No cost information" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:84 | #: lib/cannery_web/live/ammo_group_live/index.ex:93 | ||||||
| msgid "% left" | msgid "% left" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -751,7 +752,7 @@ msgid "Rounds used" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:75 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:74 | ||||||
| msgid "Current # of rounds:" | msgid "Current # of rounds:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -761,7 +762,7 @@ msgid "Total # of rounds" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:83 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:82 | ||||||
| msgid "Total rounds shot:" | msgid "Total rounds shot:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -807,14 +808,14 @@ msgid "Ammo types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:87 | #: lib/cannery_web/live/ammo_group_live/index.ex:96 | ||||||
| msgid "Added on" | msgid "Added on" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:41 | #: lib/cannery_web/components/ammo_group_card.ex:46 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:90 | ||||||
| msgid "Added on:" | msgid "Added on:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -883,7 +884,7 @@ msgid "Move Ammo" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/container_live/show.html.heex:90 | #: lib/cannery_web/live/container_live/show.html.heex:98 | ||||||
| msgid "No ammo in this container" | msgid "No ammo in this container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -918,3 +919,30 @@ msgstr "" | |||||||
| #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | ||||||
| msgid "Leave \"Uses left\" blank to make invite unlimited" | msgid "Leave \"Uses left\" blank to make invite unlimited" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/index.ex:87 | ||||||
|  | msgid "Total # of ammo" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:68 | ||||||
|  | msgid "Container:" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.html.heex:52 | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/show.html.heex:119 | ||||||
|  | #: lib/cannery_web/live/container_live/show.html.heex:90 | ||||||
|  | msgid "Show used" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:101 | ||||||
|  | msgid "Used up on" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:52 | ||||||
|  | msgid "Used up on:" | ||||||
|  | msgstr "" | ||||||
|   | |||||||
| @@ -171,7 +171,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier} | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery/ammo.ex:407 | #: lib/cannery/ammo.ex:535 | ||||||
| msgid "Invalid multiplier" | msgid "Invalid multiplier" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:41 | #: lib/cannery_web/live/ammo_type_live/index.ex:41 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:38 | #: lib/cannery_web/live/ammo_type_live/show.ex:28 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:53 | #: lib/cannery_web/live/invite_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:133 | #: lib/cannery_web/live/invite_live/index.ex:133 | ||||||
| #: lib/cannery_web/live/tag_live/index.ex:38 | #: lib/cannery_web/live/tag_live/index.ex:38 | ||||||
| @@ -86,7 +86,7 @@ msgid "Are you sure you want to delete the invite for %{name}?" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:184 | #: lib/cannery_web/live/ammo_group_live/index.ex:216 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | ||||||
| msgid "Are you sure you want to delete this ammo?" | msgid "Are you sure you want to delete this ammo?" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -273,7 +273,7 @@ msgstr[0] "" | |||||||
| msgstr[1] "" | msgstr[1] "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:140 | #: lib/cannery_web/live/ammo_type_live/index.ex:156 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:27 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:26 | ||||||
| msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | ||||||
| msgstr "" | msgstr "" | ||||||
|   | |||||||
| @@ -170,7 +170,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier} | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery/ammo.ex:407 | #: lib/cannery/ammo.ex:535 | ||||||
| msgid "Invalid multiplier" | msgid "Invalid multiplier" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:151 | #: lib/cannery_web/live/ammo_group_live/index.ex:183 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | ||||||
| #: lib/cannery_web/live/range_live/index.html.heex:36 | #: lib/cannery_web/live/range_live/index.html.heex:36 | ||||||
| msgid "Record shots" | msgid "Record shots" | ||||||
|   | |||||||
| @@ -54,13 +54,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:81 | #: lib/cannery_web/live/ammo_group_live/index.ex:90 | ||||||
| msgid "Ammo type" | msgid "Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:87 | #: lib/cannery_web/live/ammo_type_live/index.ex:88 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:100 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:99 | ||||||
| msgid "Average Price paid" | msgid "Average Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -72,7 +72,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:71 | #: lib/cannery_web/live/ammo_type_live/index.ex:71 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | ||||||
| msgid "Blank" | msgid "Blank" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -84,42 +84,42 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:53 | #: lib/cannery_web/live/ammo_type_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | ||||||
| msgid "Bullet core" | msgid "Bullet core" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:52 | #: lib/cannery_web/live/ammo_type_live/index.ex:52 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 | ||||||
| msgid "Bullet type" | msgid "Bullet type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:55 | #: lib/cannery_web/live/ammo_type_live/index.ex:55 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | ||||||
| msgid "Caliber" | msgid "Caliber" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:54 | #: lib/cannery_web/live/ammo_type_live/index.ex:54 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | ||||||
| msgid "Cartridge" | msgid "Cartridge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:56 | #: lib/cannery_web/live/ammo_type_live/index.ex:56 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | ||||||
| msgid "Case material" | msgid "Case material" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:67 | #: 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/form_component.html.heex:48 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:86 | #: lib/cannery_web/live/ammo_group_live/index.ex:95 | ||||||
| msgid "Container" | msgid "Container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -133,18 +133,18 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:72 | #: lib/cannery_web/live/ammo_type_live/index.ex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | ||||||
| msgid "Corrosive" | msgid "Corrosive" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:82 | #: lib/cannery_web/live/ammo_group_live/index.ex:91 | ||||||
| msgid "Count" | msgid "Count" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:29 | #: lib/cannery_web/components/ammo_group_card.ex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | ||||||
| msgid "Count:" | msgid "Count:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -178,7 +178,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:23 | #: lib/cannery_web/live/ammo_type_live/index.ex:23 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:45 | #: lib/cannery_web/live/ammo_type_live/show.ex:63 | ||||||
| msgid "Edit Ammo type" | msgid "Edit Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -210,14 +210,14 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:65 | #: lib/cannery_web/live/ammo_type_live/index.ex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | ||||||
| msgid "Grains" | msgid "Grains" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:70 | #: lib/cannery_web/live/ammo_type_live/index.ex:70 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | ||||||
| msgid "Incendiary" | msgid "Incendiary" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -268,7 +268,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:73 | #: lib/cannery_web/live/ammo_type_live/index.ex:73 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | ||||||
| msgid "Manufacturer" | msgid "Manufacturer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -322,7 +322,7 @@ msgid "No Ammo Types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:120 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:127 | ||||||
| msgid "No ammo for this type" | msgid "No ammo for this type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -352,7 +352,7 @@ msgid "Notes" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:35 | #: lib/cannery_web/components/ammo_group_card.ex:40 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | ||||||
| msgid "Notes:" | msgid "Notes:" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -365,25 +365,25 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:66 | #: lib/cannery_web/live/ammo_type_live/index.ex:66 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | ||||||
| msgid "Pressure" | msgid "Pressure" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:83 | #: lib/cannery_web/live/ammo_group_live/index.ex:92 | ||||||
| msgid "Price paid" | msgid "Price paid" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:47 | #: lib/cannery_web/components/ammo_group_card.ex:59 | ||||||
| msgid "Price paid:" | msgid "Price paid:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:67 | #: lib/cannery_web/live/ammo_type_live/index.ex:67 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | ||||||
| msgid "Primer type" | msgid "Primer type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -414,7 +414,7 @@ msgid "Settings" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:44 | #: lib/cannery_web/live/ammo_type_live/show.ex:62 | ||||||
| msgid "Show Ammo type" | msgid "Show Ammo type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -458,7 +458,7 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:69 | #: lib/cannery_web/live/ammo_type_live/index.ex:69 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | ||||||
| msgid "Tracer" | msgid "Tracer" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -506,7 +506,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/topbar.ex:68 | #: lib/cannery_web/components/topbar.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:85 | #: lib/cannery_web/live/ammo_group_live/index.ex:94 | ||||||
| msgid "Range" | msgid "Range" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -599,6 +599,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:80 | #: lib/cannery_web/components/move_ammo_group_component.ex:80 | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:240 | ||||||
| msgid "Move ammo" | msgid "Move ammo" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -613,12 +614,12 @@ msgid "Shot log" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:48 | #: lib/cannery_web/components/ammo_group_card.ex:60 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:125 | #: lib/cannery_web/live/ammo_group_live/index.ex:142 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:114 | #: lib/cannery_web/live/ammo_type_live/index.ex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:104 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:103 | ||||||
| msgid "$%{amount}" | msgid "$%{amount}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -630,35 +631,35 @@ msgstr "" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:57 | #: lib/cannery_web/live/ammo_type_live/index.ex:57 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | ||||||
| msgid "Jacket type" | msgid "Jacket type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:58 | #: lib/cannery_web/live/ammo_type_live/index.ex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | ||||||
| msgid "Muzzle velocity" | msgid "Muzzle velocity" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:61 | #: lib/cannery_web/live/ammo_type_live/index.ex:61 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | ||||||
| msgid "Powder grains per charge" | msgid "Powder grains per charge" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:59 | #: lib/cannery_web/live/ammo_type_live/index.ex:59 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | ||||||
| msgid "Powder type" | msgid "Powder type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:74 | #: lib/cannery_web/live/ammo_type_live/index.ex:74 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:56 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | ||||||
| msgid "UPC" | msgid "UPC" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -679,19 +680,19 @@ msgid "New password" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Stage" | msgid "Stage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Unstage" | msgid "Unstage" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:68 | #: lib/cannery_web/live/ammo_type_live/index.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | ||||||
| msgid "Firing type" | msgid "Firing type" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -707,13 +708,13 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:27 | #: lib/cannery_web/live/container_live/index.ex:27 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:95 | #: lib/cannery_web/live/container_live/show.ex:106 | ||||||
| msgid "Edit %{name}" | msgid "Edit %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:46 | #: lib/cannery_web/live/container_live/index.ex:46 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:96 | #: lib/cannery_web/live/container_live/show.ex:107 | ||||||
| msgid "Edit %{name} tags" | msgid "Edit %{name} tags" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -724,18 +725,18 @@ msgid "Rounds:" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.ex:94 | #: lib/cannery_web/live/container_live/show.ex:105 | ||||||
| msgid "Show %{name}" | msgid "Show %{name}" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:113 | #: lib/cannery_web/live/ammo_type_live/index.ex:117 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:110 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:109 | ||||||
| msgid "No cost information" | msgid "No cost information" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:84 | #: lib/cannery_web/live/ammo_group_live/index.ex:93 | ||||||
| msgid "% left" | msgid "% left" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -765,7 +766,7 @@ msgid "Rounds used" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:75 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:74 | ||||||
| msgid "Current # of rounds:" | msgid "Current # of rounds:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -775,7 +776,7 @@ msgid "Total # of rounds" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:83 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:82 | ||||||
| msgid "Total rounds shot:" | msgid "Total rounds shot:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -821,14 +822,14 @@ msgid "Ammo types" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:87 | #: lib/cannery_web/live/ammo_group_live/index.ex:96 | ||||||
| msgid "Added on" | msgid "Added on" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:41 | #: lib/cannery_web/components/ammo_group_card.ex:46 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:90 | ||||||
| msgid "Added on:" | msgid "Added on:" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -897,7 +898,7 @@ msgid "Move Ammo" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/container_live/show.html.heex:90 | #: lib/cannery_web/live/container_live/show.html.heex:98 | ||||||
| msgid "No ammo in this container" | msgid "No ammo in this container" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| @@ -932,3 +933,30 @@ msgstr "" | |||||||
| #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | ||||||
| msgid "Leave \"Uses left\" blank to make invite unlimited" | msgid "Leave \"Uses left\" blank to make invite unlimited" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/index.ex:87 | ||||||
|  | msgid "Total # of ammo" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:68 | ||||||
|  | msgid "Container:" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.html.heex:52 | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/show.html.heex:119 | ||||||
|  | #: lib/cannery_web/live/container_live/show.html.heex:90 | ||||||
|  | msgid "Show used" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:101 | ||||||
|  | msgid "Used up on" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:52 | ||||||
|  | msgid "Used up on:" | ||||||
|  | msgstr "" | ||||||
|   | |||||||
| @@ -186,7 +186,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier} | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery/ammo.ex:407 | #: lib/cannery/ammo.ex:535 | ||||||
| msgid "Invalid multiplier" | msgid "Invalid multiplier" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ msgstr "%{name} creado exitosamente" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:41 | #: lib/cannery_web/live/ammo_type_live/index.ex:41 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:38 | #: lib/cannery_web/live/ammo_type_live/show.ex:28 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:53 | #: lib/cannery_web/live/invite_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:133 | #: lib/cannery_web/live/invite_live/index.ex:133 | ||||||
| #: lib/cannery_web/live/tag_live/index.ex:38 | #: lib/cannery_web/live/tag_live/index.ex:38 | ||||||
| @@ -100,7 +100,7 @@ msgid "Are you sure you want to delete the invite for %{name}?" | |||||||
| msgstr "Está seguro que quiere eliminar la invitación para %{name}?" | msgstr "Está seguro que quiere eliminar la invitación para %{name}?" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:184 | #: lib/cannery_web/live/ammo_group_live/index.ex:216 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | ||||||
| msgid "Are you sure you want to delete this ammo?" | msgid "Are you sure you want to delete this ammo?" | ||||||
| msgstr "Está seguro que desea eliminar esta munición?" | msgstr "Está seguro que desea eliminar esta munición?" | ||||||
| @@ -292,7 +292,7 @@ msgstr[0] "" | |||||||
| msgstr[1] "" | msgstr[1] "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:140 | #: lib/cannery_web/live/ammo_type_live/index.ex:156 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:27 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:26 | ||||||
| msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | ||||||
| msgstr "" | msgstr "" | ||||||
|   | |||||||
| @@ -169,7 +169,7 @@ msgid "Why not get some ready to shoot?" | |||||||
| msgstr "Pourquoi pas en préparer pour tirer ?" | msgstr "Pourquoi pas en préparer pour tirer ?" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:151 | #: lib/cannery_web/live/ammo_group_live/index.ex:183 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:91 | ||||||
| #: lib/cannery_web/live/range_live/index.html.heex:36 | #: lib/cannery_web/live/range_live/index.html.heex:36 | ||||||
| msgid "Record shots" | msgid "Record shots" | ||||||
|   | |||||||
| @@ -54,13 +54,13 @@ msgstr "Munition" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:21 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:81 | #: lib/cannery_web/live/ammo_group_live/index.ex:90 | ||||||
| msgid "Ammo type" | msgid "Ammo type" | ||||||
| msgstr "Type de munition" | msgstr "Type de munition" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:87 | #: lib/cannery_web/live/ammo_type_live/index.ex:88 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:100 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:99 | ||||||
| msgid "Average Price paid" | msgid "Average Price paid" | ||||||
| msgstr "Prix acheté moyen" | msgstr "Prix acheté moyen" | ||||||
|  |  | ||||||
| @@ -72,7 +72,7 @@ msgstr "Couleur de fond" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:71 | #: lib/cannery_web/live/ammo_type_live/index.ex:71 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | ||||||
| msgid "Blank" | msgid "Blank" | ||||||
| msgstr "Vide" | msgstr "Vide" | ||||||
|  |  | ||||||
| @@ -84,42 +84,42 @@ msgstr "Cuivre" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:53 | #: lib/cannery_web/live/ammo_type_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | ||||||
| msgid "Bullet core" | msgid "Bullet core" | ||||||
| msgstr "Noyau de balle" | msgstr "Noyau de balle" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:52 | #: lib/cannery_web/live/ammo_type_live/index.ex:52 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:38 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:37 | ||||||
| msgid "Bullet type" | msgid "Bullet type" | ||||||
| msgstr "Type de balle" | msgstr "Type de balle" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:55 | #: lib/cannery_web/live/ammo_type_live/index.ex:55 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | ||||||
| msgid "Caliber" | msgid "Caliber" | ||||||
| msgstr "Calibre" | msgstr "Calibre" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:51 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:54 | #: lib/cannery_web/live/ammo_type_live/index.ex:54 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:40 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:39 | ||||||
| msgid "Cartridge" | msgid "Cartridge" | ||||||
| msgstr "Cartouche" | msgstr "Cartouche" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:56 | #: lib/cannery_web/live/ammo_type_live/index.ex:56 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:41 | ||||||
| msgid "Case material" | msgid "Case material" | ||||||
| msgstr "Matériau de la caisse" | msgstr "Matériau de la caisse" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:67 | #: 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/form_component.html.heex:48 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:86 | #: lib/cannery_web/live/ammo_group_live/index.ex:95 | ||||||
| msgid "Container" | msgid "Container" | ||||||
| msgstr "Conteneur" | msgstr "Conteneur" | ||||||
|  |  | ||||||
| @@ -133,18 +133,18 @@ msgstr "Conteneurs" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:144 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:72 | #: lib/cannery_web/live/ammo_type_live/index.ex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:53 | ||||||
| msgid "Corrosive" | msgid "Corrosive" | ||||||
| msgstr "Corrosive" | msgstr "Corrosive" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:82 | #: lib/cannery_web/live/ammo_group_live/index.ex:91 | ||||||
| msgid "Count" | msgid "Count" | ||||||
| msgstr "Quantité" | msgstr "Quantité" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:29 | #: lib/cannery_web/components/ammo_group_card.ex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:8 | ||||||
| msgid "Count:" | msgid "Count:" | ||||||
| msgstr "Quantité :" | msgstr "Quantité :" | ||||||
| @@ -178,7 +178,7 @@ msgstr "Éditer le groupe de munition" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:23 | #: lib/cannery_web/live/ammo_type_live/index.ex:23 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:45 | #: lib/cannery_web/live/ammo_type_live/show.ex:63 | ||||||
| msgid "Edit Ammo type" | msgid "Edit Ammo type" | ||||||
| msgstr "Éditer le type de munition" | msgstr "Éditer le type de munition" | ||||||
|  |  | ||||||
| @@ -210,14 +210,14 @@ msgstr "FMJ" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:65 | #: lib/cannery_web/live/ammo_type_live/index.ex:65 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | ||||||
| msgid "Grains" | msgid "Grains" | ||||||
| msgstr "Graines" | msgstr "Graines" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:136 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:70 | #: lib/cannery_web/live/ammo_type_live/index.ex:70 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:52 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | ||||||
| msgid "Incendiary" | msgid "Incendiary" | ||||||
| msgstr "Incendiaire" | msgstr "Incendiaire" | ||||||
|  |  | ||||||
| @@ -268,7 +268,7 @@ msgstr "Chargeur, lame-chargeur, boite de munition, etc." | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:73 | #: lib/cannery_web/live/ammo_type_live/index.ex:73 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:54 | ||||||
| msgid "Manufacturer" | msgid "Manufacturer" | ||||||
| msgstr "Fabricant" | msgstr "Fabricant" | ||||||
|  |  | ||||||
| @@ -322,7 +322,7 @@ msgid "No Ammo Types" | |||||||
| msgstr "Aucun type de munition" | msgstr "Aucun type de munition" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:120 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:127 | ||||||
| msgid "No ammo for this type" | msgid "No ammo for this type" | ||||||
| msgstr "Aucune munition pour ce type" | msgstr "Aucune munition pour ce type" | ||||||
|  |  | ||||||
| @@ -352,7 +352,7 @@ msgid "Notes" | |||||||
| msgstr "Notes" | msgstr "Notes" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:35 | #: lib/cannery_web/components/ammo_group_card.ex:40 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:24 | ||||||
| msgid "Notes:" | msgid "Notes:" | ||||||
| msgstr "Notes :" | msgstr "Notes :" | ||||||
| @@ -365,25 +365,25 @@ msgstr "Sur l’étagère" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:111 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:66 | #: lib/cannery_web/live/ammo_type_live/index.ex:66 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:47 | ||||||
| msgid "Pressure" | msgid "Pressure" | ||||||
| msgstr "Pression" | msgstr "Pression" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:34 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:83 | #: lib/cannery_web/live/ammo_group_live/index.ex:92 | ||||||
| msgid "Price paid" | msgid "Price paid" | ||||||
| msgstr "Prix payé" | msgstr "Prix payé" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:47 | #: lib/cannery_web/components/ammo_group_card.ex:59 | ||||||
| msgid "Price paid:" | msgid "Price paid:" | ||||||
| msgstr "Prix payé :" | msgstr "Prix payé :" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:67 | #: lib/cannery_web/live/ammo_type_live/index.ex:67 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:48 | ||||||
| msgid "Primer type" | msgid "Primer type" | ||||||
| msgstr "Type d’amorce" | msgstr "Type d’amorce" | ||||||
|  |  | ||||||
| @@ -416,7 +416,7 @@ msgid "Settings" | |||||||
| msgstr "Paramètres" | msgstr "Paramètres" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:44 | #: lib/cannery_web/live/ammo_type_live/show.ex:62 | ||||||
| msgid "Show Ammo type" | msgid "Show Ammo type" | ||||||
| msgstr "Montrer le type de munition" | msgstr "Montrer le type de munition" | ||||||
|  |  | ||||||
| @@ -462,7 +462,7 @@ msgstr "Le site web de suivi d’arme à feux auto-hébergé" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:69 | #: lib/cannery_web/live/ammo_type_live/index.ex:69 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:51 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | ||||||
| msgid "Tracer" | msgid "Tracer" | ||||||
| msgstr "Traceuse" | msgstr "Traceuse" | ||||||
|  |  | ||||||
| @@ -510,7 +510,7 @@ msgstr "Aucun tag pour ce conteneur" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/topbar.ex:68 | #: lib/cannery_web/components/topbar.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:85 | #: lib/cannery_web/live/ammo_group_live/index.ex:94 | ||||||
| msgid "Range" | msgid "Range" | ||||||
| msgstr "Portée" | msgstr "Portée" | ||||||
|  |  | ||||||
| @@ -603,6 +603,7 @@ msgstr "Déplacer le groupe de munition" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/move_ammo_group_component.ex:80 | #: lib/cannery_web/components/move_ammo_group_component.ex:80 | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:240 | ||||||
| msgid "Move ammo" | msgid "Move ammo" | ||||||
| msgstr "Déplacer munition" | msgstr "Déplacer munition" | ||||||
|  |  | ||||||
| @@ -617,12 +618,12 @@ msgid "Shot log" | |||||||
| msgstr "Évènements de tir" | msgstr "Évènements de tir" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:48 | #: lib/cannery_web/components/ammo_group_card.ex:60 | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:125 | #: lib/cannery_web/live/ammo_group_live/index.ex:142 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:37 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:44 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:114 | #: lib/cannery_web/live/ammo_type_live/index.ex:118 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:104 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:103 | ||||||
| msgid "$%{amount}" | msgid "$%{amount}" | ||||||
| msgstr "%{amount} $" | msgstr "%{amount} $" | ||||||
|  |  | ||||||
| @@ -634,35 +635,35 @@ msgstr "Bi-métal" | |||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:72 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:57 | #: lib/cannery_web/live/ammo_type_live/index.ex:57 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:42 | ||||||
| msgid "Jacket type" | msgid "Jacket type" | ||||||
| msgstr "Type de douille" | msgstr "Type de douille" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:79 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:58 | #: lib/cannery_web/live/ammo_type_live/index.ex:58 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:43 | ||||||
| msgid "Muzzle velocity" | msgid "Muzzle velocity" | ||||||
| msgstr "Vélocité du canon" | msgstr "Vélocité du canon" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:93 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:61 | #: lib/cannery_web/live/ammo_type_live/index.ex:61 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:46 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | ||||||
| msgid "Powder grains per charge" | msgid "Powder grains per charge" | ||||||
| msgstr "Graines de poudre par charge" | msgstr "Graines de poudre par charge" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:59 | #: lib/cannery_web/live/ammo_type_live/index.ex:59 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:45 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:44 | ||||||
| msgid "Powder type" | msgid "Powder type" | ||||||
| msgstr "Type de poudre" | msgstr "Type de poudre" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:152 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:74 | #: lib/cannery_web/live/ammo_type_live/index.ex:74 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:56 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:55 | ||||||
| msgid "UPC" | msgid "UPC" | ||||||
| msgstr "UPC" | msgstr "UPC" | ||||||
|  |  | ||||||
| @@ -683,19 +684,19 @@ msgid "New password" | |||||||
| msgstr "Nouveau mot de passe" | msgstr "Nouveau mot de passe" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Stage" | msgid "Stage" | ||||||
| msgstr "Sélectionné" | msgstr "Sélectionné" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:148 | #: lib/cannery_web/live/ammo_group_live/index.ex:180 | ||||||
| msgid "Unstage" | msgid "Unstage" | ||||||
| msgstr "Désélectionner" | msgstr "Désélectionner" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:125 | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:68 | #: lib/cannery_web/live/ammo_type_live/index.ex:68 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:50 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:49 | ||||||
| msgid "Firing type" | msgid "Firing type" | ||||||
| msgstr "Type d’allumage" | msgstr "Type d’allumage" | ||||||
|  |  | ||||||
| @@ -711,13 +712,13 @@ msgstr "Chargement en cours…" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:27 | #: lib/cannery_web/live/container_live/index.ex:27 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:95 | #: lib/cannery_web/live/container_live/show.ex:106 | ||||||
| msgid "Edit %{name}" | msgid "Edit %{name}" | ||||||
| msgstr "Éditer %{name}" | msgstr "Éditer %{name}" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/index.ex:46 | #: lib/cannery_web/live/container_live/index.ex:46 | ||||||
| #: lib/cannery_web/live/container_live/show.ex:96 | #: lib/cannery_web/live/container_live/show.ex:107 | ||||||
| msgid "Edit %{name} tags" | msgid "Edit %{name} tags" | ||||||
| msgstr "Éditer les tags de %{name}" | msgstr "Éditer les tags de %{name}" | ||||||
|  |  | ||||||
| @@ -728,18 +729,18 @@ msgid "Rounds:" | |||||||
| msgstr "Cartouches :" | msgstr "Cartouches :" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/container_live/show.ex:94 | #: lib/cannery_web/live/container_live/show.ex:105 | ||||||
| msgid "Show %{name}" | msgid "Show %{name}" | ||||||
| msgstr "Montrer %{name}" | msgstr "Montrer %{name}" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:113 | #: lib/cannery_web/live/ammo_type_live/index.ex:117 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:110 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:109 | ||||||
| msgid "No cost information" | msgid "No cost information" | ||||||
| msgstr "Aucune information de prix" | msgstr "Aucune information de prix" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:84 | #: lib/cannery_web/live/ammo_group_live/index.ex:93 | ||||||
| msgid "% left" | msgid "% left" | ||||||
| msgstr "% restante" | msgstr "% restante" | ||||||
|  |  | ||||||
| @@ -769,7 +770,7 @@ msgid "Rounds used" | |||||||
| msgstr "Cartouches utilisées" | msgstr "Cartouches utilisées" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:75 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:74 | ||||||
| msgid "Current # of rounds:" | msgid "Current # of rounds:" | ||||||
| msgstr "Quantité actuelle de cartouches :" | msgstr "Quantité actuelle de cartouches :" | ||||||
|  |  | ||||||
| @@ -779,7 +780,7 @@ msgid "Total # of rounds" | |||||||
| msgstr "Quantité de cartouches" | msgstr "Quantité de cartouches" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:83 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:82 | ||||||
| msgid "Total rounds shot:" | msgid "Total rounds shot:" | ||||||
| msgstr "Nombre totale de cartouches tirées :" | msgstr "Nombre totale de cartouches tirées :" | ||||||
|  |  | ||||||
| @@ -825,14 +826,14 @@ msgid "Ammo types" | |||||||
| msgstr "Types de munition" | msgstr "Types de munition" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:87 | #: lib/cannery_web/live/ammo_group_live/index.ex:96 | ||||||
| msgid "Added on" | msgid "Added on" | ||||||
| msgstr "Ajouté le" | msgstr "Ajouté le" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/components/ammo_group_card.ex:41 | #: lib/cannery_web/components/ammo_group_card.ex:46 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:30 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:91 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:90 | ||||||
| msgid "Added on:" | msgid "Added on:" | ||||||
| msgstr "Ajouté le :" | msgstr "Ajouté le :" | ||||||
|  |  | ||||||
| @@ -901,7 +902,7 @@ msgid "Move Ammo" | |||||||
| msgstr "Déplacer munition" | msgstr "Déplacer munition" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/container_live/show.html.heex:90 | #: lib/cannery_web/live/container_live/show.html.heex:98 | ||||||
| msgid "No ammo in this container" | msgid "No ammo in this container" | ||||||
| msgstr "Aucun groupe de munition pour ce conteneur" | msgstr "Aucun groupe de munition pour ce conteneur" | ||||||
|  |  | ||||||
| @@ -936,3 +937,30 @@ msgstr "" | |||||||
| #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | #: lib/cannery_web/live/invite_live/form_component.html.heex:28 | ||||||
| msgid "Leave \"Uses left\" blank to make invite unlimited" | msgid "Leave \"Uses left\" blank to make invite unlimited" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/index.ex:87 | ||||||
|  | msgid "Total # of ammo" | ||||||
|  | msgstr "Quantité de cartouches" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format, fuzzy | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:68 | ||||||
|  | msgid "Container:" | ||||||
|  | msgstr "Conteneur" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.html.heex:52 | ||||||
|  | #: lib/cannery_web/live/ammo_type_live/show.html.heex:119 | ||||||
|  | #: lib/cannery_web/live/container_live/show.html.heex:90 | ||||||
|  | msgid "Show used" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/live/ammo_group_live/index.ex:101 | ||||||
|  | msgid "Used up on" | ||||||
|  | msgstr "" | ||||||
|  |  | ||||||
|  | #, elixir-autogen, elixir-format | ||||||
|  | #: lib/cannery_web/components/ammo_group_card.ex:52 | ||||||
|  | msgid "Used up on:" | ||||||
|  | msgstr "" | ||||||
|   | |||||||
| @@ -187,7 +187,7 @@ msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier} | |||||||
| msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}" | msgstr "Nombre de copies invalide, doit être 1 et %{max}. Été %{multiplier}" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery/ammo.ex:407 | #: lib/cannery/ammo.ex:535 | ||||||
| msgid "Invalid multiplier" | msgid "Invalid multiplier" | ||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ msgstr "%{name} créé· avec succès" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:41 | #: lib/cannery_web/live/ammo_type_live/index.ex:41 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:38 | #: lib/cannery_web/live/ammo_type_live/show.ex:28 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:53 | #: lib/cannery_web/live/invite_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:133 | #: lib/cannery_web/live/invite_live/index.ex:133 | ||||||
| #: lib/cannery_web/live/tag_live/index.ex:38 | #: lib/cannery_web/live/tag_live/index.ex:38 | ||||||
| @@ -101,7 +101,7 @@ msgid "Are you sure you want to delete the invite for %{name}?" | |||||||
| msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?" | msgstr "Êtes-vous certain·e de supprimer l’invitation pour %{name} ?" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:184 | #: lib/cannery_web/live/ammo_group_live/index.ex:216 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | ||||||
| msgid "Are you sure you want to delete this ammo?" | msgid "Are you sure you want to delete this ammo?" | ||||||
| msgstr "Êtes-vous certain·e de supprimer cette munition ?" | msgstr "Êtes-vous certain·e de supprimer cette munition ?" | ||||||
| @@ -294,7 +294,7 @@ msgstr[0] "Groupe de munition mis à jour avec succès" | |||||||
| msgstr[1] "Groupe de munition mis à jour avec succès" | msgstr[1] "Groupe de munition mis à jour avec succès" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format, fuzzy | #, elixir-autogen, elixir-format, fuzzy | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:140 | #: lib/cannery_web/live/ammo_type_live/index.ex:156 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:27 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:26 | ||||||
| msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | ||||||
| msgstr "Êtes-vous certain·e de supprimer %{name} ?" | msgstr "Êtes-vous certain·e de supprimer %{name} ?" | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ msgstr "" | |||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:41 | #: lib/cannery_web/live/ammo_type_live/index.ex:41 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.ex:38 | #: lib/cannery_web/live/ammo_type_live/show.ex:28 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:53 | #: lib/cannery_web/live/invite_live/index.ex:53 | ||||||
| #: lib/cannery_web/live/invite_live/index.ex:133 | #: lib/cannery_web/live/invite_live/index.ex:133 | ||||||
| #: lib/cannery_web/live/tag_live/index.ex:38 | #: lib/cannery_web/live/tag_live/index.ex:38 | ||||||
| @@ -85,7 +85,7 @@ msgid "Are you sure you want to delete the invite for %{name}?" | |||||||
| msgstr "" | msgstr "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_group_live/index.ex:184 | #: lib/cannery_web/live/ammo_group_live/index.ex:216 | ||||||
| #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | #: lib/cannery_web/live/ammo_group_live/show.html.heex:71 | ||||||
| msgid "Are you sure you want to delete this ammo?" | msgid "Are you sure you want to delete this ammo?" | ||||||
| msgstr "" | msgstr "" | ||||||
| @@ -272,7 +272,7 @@ msgstr[0] "" | |||||||
| msgstr[1] "" | msgstr[1] "" | ||||||
|  |  | ||||||
| #, elixir-autogen, elixir-format | #, elixir-autogen, elixir-format | ||||||
| #: lib/cannery_web/live/ammo_type_live/index.ex:140 | #: lib/cannery_web/live/ammo_type_live/index.ex:156 | ||||||
| #: lib/cannery_web/live/ammo_type_live/show.html.heex:27 | #: lib/cannery_web/live/ammo_type_live/show.html.heex:26 | ||||||
| msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | msgid "Are you sure you want to delete %{name}? This will delete all %{name} type ammo as well!" | ||||||
| msgstr "" | msgstr "" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user