Compare commits

...

7 Commits

Author SHA1 Message Date
09774e0aed bump to 0.7.0
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-12 14:38:40 -05:00
44d4d7c6f9 add CPR and original count to json export 2022-11-12 14:37:55 -05:00
1fed895b82 display cpr for ammo packs and add original count for ammo packs 2022-11-12 14:33:11 -05:00
3480aff61d make ammo type show page and container show page also display ammo groups as table 2022-11-12 13:53:23 -05:00
1ea4b99c81 fix whitespace when copying invite url 2022-11-11 21:36:57 -05:00
2191e7f4f4 fix chart to sum by day 2022-11-11 19:34:23 -05:00
8231683958 add shading to table component 2022-11-11 18:47:55 -05:00
54 changed files with 1906 additions and 965 deletions

View File

@ -1,3 +1,13 @@
# v0.7.0
- Add shading to table component
- Fix chart to sum by day
- Fix whitespace when copying invite url
- Make ammo type show page also display ammo groups as table
- Make container show page also display ammo groups as table
- Display CPR for ammo packs
- Add original count for ammo packs
- Add ammo pack CPR and original count to json export
# v0.6.0 # v0.6.0
- Update translations - Update translations
- Display used-up date on used-up ammo - Display used-up date on used-up ammo

View File

@ -11,22 +11,23 @@ export default {
data: { data: {
datasets: [{ datasets: [{
label: el.dataset.label, label: el.dataset.label,
data: data.map(({ date, count, labels }) => ({ data: data.map(({ date, count, label }) => ({
labels, label,
x: date, x: date,
y: count y: count
})), })),
backgroundColor: el.dataset.color, backgroundColor: `${el.dataset.color}77`,
borderColor: el.dataset.color, borderColor: el.dataset.color,
fill: true, fill: true,
borderWidth: 4 borderWidth: 3,
pointBorderWidth: 1
}] }]
}, },
options: { options: {
elements: { elements: {
point: { point: {
radius: 7, radius: 9,
hoverRadius: 10 hoverRadius: 12
} }
}, },
plugins: { plugins: {
@ -39,7 +40,8 @@ export default {
tooltip: { tooltip: {
displayColors: false, displayColors: false,
callbacks: { callbacks: {
label: ({ raw: { labels } }) => labels title: (contexts) => contexts.map(({ raw: { x } }) => Intl.DateTimeFormat([], { timeZone: 'Etc/UTC', dateStyle: 'short' }).format(new Date(x))),
label: ({ raw: { label } }) => label
} }
} }
}, },

View File

@ -513,6 +513,28 @@ defmodule Cannery.Ammo do
round(count / (count + shot_group_sum) * 100) round(count / (count + shot_group_sum) * 100)
end end
@doc """
Gets the original count for an ammo group
"""
@spec get_original_count(AmmoGroup.t()) :: non_neg_integer()
def get_original_count(%AmmoGroup{count: count} = ammo_group) do
count + get_used_count(ammo_group)
end
@doc """
Calculates the CPR for a single ammo group
"""
@spec get_cpr(AmmoGroup.t()) :: nil | float()
def get_cpr(%AmmoGroup{price_paid: nil}), do: nil
def get_cpr(%AmmoGroup{price_paid: price_paid} = ammo_group),
do: calculate_cpr(price_paid, get_original_count(ammo_group))
@spec calculate_cpr(price_paid :: float() | nil, count :: integer()) :: float() | nil
defp calculate_cpr(nil, _count), do: nil
defp calculate_cpr(_price_paid, 0), do: nil
defp calculate_cpr(price_paid, total_count), do: price_paid / total_count
@doc """ @doc """
Creates multiple ammo_groups at once. Creates multiple ammo_groups at once.

View File

@ -17,6 +17,7 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
preloads = if show_container, do: [:ammo_type, :container], else: [:ammo_type] preloads = if show_container, do: [:ammo_type, :container], else: [:ammo_type]
ammo_group = ammo_group |> Repo.preload(preloads) ammo_group = ammo_group |> Repo.preload(preloads)
assigns = assigns |> assign(:ammo_group, ammo_group) assigns = assigns |> assign(:ammo_group, ammo_group)
~H""" ~H"""
@ -35,9 +36,16 @@ 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:") %>
<%= if @ammo_group.count == 0, do: "Empty", else: @ammo_group.count %> <%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %>
</span> </span>
<%= if @ammo_group |> Ammo.get_original_count() != @ammo_group.count do %>
<span class="rounded-lg title text-lg">
<%= gettext("Original Count:") %>
<%= @ammo_group |> Ammo.get_original_count() %>
</span>
<% end %>
<%= if @ammo_group.notes do %> <%= if @ammo_group.notes do %>
<span class="rounded-lg title text-lg"> <span class="rounded-lg title text-lg">
<%= gettext("Notes:") %> <%= gettext("Notes:") %>
@ -64,6 +72,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2) amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)
) %> ) %>
</span> </span>
<span class="rounded-lg title text-lg">
<%= gettext("CPR:") %>
<%= gettext("$%{amount}",
amount: @ammo_group |> Ammo.get_cpr() |> :erlang.float_to_binary(decimals: 2)
) %>
</span>
<% end %> <% end %>
<%= if @show_container and @ammo_group.container do %> <%= if @show_container and @ammo_group.container do %>

View File

@ -0,0 +1,236 @@
defmodule CanneryWeb.Components.AmmoGroupTableComponent do
@moduledoc """
A component that displays a list of ammo groups
"""
use CanneryWeb, :live_component
alias Cannery.{Accounts.User, Ammo, Ammo.AmmoGroup, Repo}
alias Ecto.UUID
alias Phoenix.LiveView.{Rendered, Socket}
@impl true
@spec update(
%{
required(:id) => UUID.t(),
required(:current_user) => User.t(),
required(:ammo_groups) => [AmmoGroup.t()],
optional(:show_used) => boolean(),
optional(:ammo_type) => Rendered.t(),
optional(:range) => Rendered.t(),
optional(:container) => Rendered.t(),
optional(:actions) => Rendered.t(),
optional(any()) => any()
},
Socket.t()
) :: {:ok, Socket.t()}
def update(%{id: _id, ammo_groups: _ammo_group, current_user: _current_user} = assigns, socket) do
socket =
socket
|> assign(assigns)
|> assign_new(:show_used, fn -> false end)
|> assign_new(:ammo_type, fn -> [] end)
|> assign_new(:range, fn -> [] end)
|> assign_new(:container, fn -> [] end)
|> assign_new(:actions, fn -> [] end)
|> display_ammo_groups()
{:ok, socket}
end
defp display_ammo_groups(
%{
assigns: %{
ammo_groups: ammo_groups,
current_user: current_user,
show_used: show_used,
ammo_type: ammo_type,
range: range,
container: container,
actions: actions
}
} = socket
) do
columns =
if actions == [] do
[]
else
[%{label: nil, key: :actions, sortable: false}]
end
columns =
if show_used do
[%{label: gettext("Used up on"), key: :used_up_on} | columns]
else
columns
end
columns = [%{label: gettext("Added on"), key: :added_on} | columns]
columns =
if container == [] do
columns
else
[%{label: gettext("Container"), key: :container} | columns]
end
columns =
if range == [] do
columns
else
[%{label: gettext("Range"), key: :range} | columns]
end
columns = [
%{label: gettext("Count"), key: :count},
%{label: gettext("Original Count"), key: :original_count},
%{label: gettext("Price paid"), key: :price_paid},
%{label: gettext("CPR"), key: :cpr},
%{label: gettext("% left"), key: :remaining},
%{label: gettext("Notes"), key: :notes}
| columns
]
columns =
if ammo_type == [] do
columns
else
[%{label: gettext("Ammo type"), key: :ammo_type} | columns]
end
rows =
ammo_groups
|> Repo.preload([:ammo_type, :container])
|> Enum.map(fn ammo_group ->
ammo_group
|> get_row_data_for_ammo_group(%{
current_user: current_user,
ammo_type: ammo_type,
columns: columns,
container: container,
actions: actions,
range: range
})
end)
socket |> assign(columns: columns, rows: rows)
end
@impl true
def render(assigns) do
~H"""
<div class="w-full">
<.live_component
module={CanneryWeb.Components.TableComponent}
id={@id}
columns={@columns}
rows={@rows}
/>
</div>
"""
end
@spec get_row_data_for_ammo_group(AmmoGroup.t(), additional_data :: map()) :: map()
defp get_row_data_for_ammo_group(ammo_group, %{columns: columns} = additional_data) do
ammo_group = ammo_group |> Repo.preload([:ammo_type, :container])
columns
|> Map.new(fn %{key: key} ->
{key, get_value_for_key(key, ammo_group, additional_data)}
end)
end
@spec get_value_for_key(atom(), AmmoGroup.t(), additional_data :: map()) ::
any() | {any(), Rendered.t()}
defp get_value_for_key(
:ammo_type,
%{ammo_type: %{name: ammo_type_name} = ammo_type},
%{ammo_type: ammo_type_block}
) do
assigns = %{ammo_type: ammo_type, ammo_type_block: ammo_type_block}
{ammo_type_name,
~H"""
<%= render_slot(@ammo_type_block, @ammo_type) %>
"""}
end
defp get_value_for_key(:price_paid, %{price_paid: nil}, _additional_data), do: {"", nil}
defp get_value_for_key(:price_paid, %{price_paid: price_paid}, _additional_data),
do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2))
defp get_value_for_key(:added_on, %{inserted_at: inserted_at}, _additional_data) do
assigns = %{inserted_at: inserted_at}
{inserted_at,
~H"""
<%= @inserted_at |> display_datetime() %>
"""}
end
defp get_value_for_key(:used_up_on, ammo_group, _additional_data) do
last_shot_group_date =
case ammo_group |> Ammo.get_last_used_shot_group() do
%{date: last_shot_group_date} -> last_shot_group_date
_no_shot_groups -> nil
end
assigns = %{last_shot_group_date: last_shot_group_date}
{last_shot_group_date,
~H"""
<%= @last_shot_group_date |> display_date() %>
"""}
end
defp get_value_for_key(:range, %{staged: staged} = ammo_group, %{range: range}) do
assigns = %{range: range, ammo_group: ammo_group}
{staged,
~H"""
<%= render_slot(@range, @ammo_group) %>
"""}
end
defp get_value_for_key(:remaining, ammo_group, _additional_data),
do: gettext("%{percentage}%", percentage: ammo_group |> Ammo.get_percentage_remaining())
defp get_value_for_key(:actions, ammo_group, %{actions: actions}) do
assigns = %{actions: actions, ammo_group: ammo_group}
~H"""
<%= render_slot(@actions, @ammo_group) %>
"""
end
defp get_value_for_key(:container, %{container: nil}, _additional_data), do: {nil, nil}
defp get_value_for_key(
:container,
%{container: %{name: container_name}} = ammo_group,
%{container: container}
) do
assigns = %{container: container, ammo_group: ammo_group}
{container_name,
~H"""
<%= render_slot(@container, @ammo_group) %>
"""}
end
defp get_value_for_key(:original_count, ammo_group, _additional_data),
do: ammo_group |> Ammo.get_original_count()
defp get_value_for_key(:cpr, %{price_paid: nil}, _additional_data),
do: gettext("No cost information")
defp get_value_for_key(:cpr, ammo_group, _additional_data) do
gettext("$%{amount}",
amount: ammo_group |> Ammo.get_cpr() |> :erlang.float_to_binary(decimals: 2)
)
end
defp get_value_for_key(:count, %{count: count}, _additional_data),
do: if(count == 0, do: gettext("Empty"), else: count)
defp get_value_for_key(key, ammo_group, _additional_data), do: ammo_group |> Map.get(key)
end

View File

@ -37,10 +37,8 @@ defmodule CanneryWeb.Components.InviteCard do
<code <code
id={"code-#{@invite.id}"} id={"code-#{@invite.id}"}
class="mx-2 my-1 text-xs px-4 py-2 rounded-lg text-center break-all text-gray-100 bg-primary-800" class="mx-2 my-1 text-xs px-4 py-2 rounded-lg text-center break-all text-gray-100 bg-primary-800"
> phx-no-format
<%= Routes.user_registration_url(Endpoint, :new, invite: @invite.token) %> ><%= Routes.user_registration_url(Endpoint, :new, invite: @invite.token) %></code>
</code>
<%= render_slot(@code_actions) %> <%= render_slot(@code_actions) %>
</div> </div>

View File

@ -106,7 +106,7 @@ defmodule CanneryWeb.Components.MoveAmmoGroupComponent do
containers containers
|> Enum.map(fn container -> |> Enum.map(fn container ->
columns columns
|> Enum.into(%{}, fn %{key: key} -> {key, get_row_value_by_key(key, container, assigns)} end) |> Map.new(fn %{key: key} -> {key, get_row_value_by_key(key, container, assigns)} end)
end) end)
end end

View File

@ -21,6 +21,7 @@ defmodule CanneryWeb.Components.TableComponent do
use CanneryWeb, :live_component use CanneryWeb, :live_component
alias Phoenix.LiveView.Socket alias Phoenix.LiveView.Socket
require Integer
@impl true @impl true
@spec update( @spec update(
@ -30,6 +31,8 @@ defmodule CanneryWeb.Components.TableComponent do
required(:label) => String.t() | nil, required(:label) => String.t() | nil,
required(:key) => atom() | nil, required(:key) => atom() | nil,
optional(:class) => String.t(), optional(:class) => String.t(),
optional(:row_class) => String.t(),
optional(:alternate_row_class) => String.t(),
optional(:sortable) => false optional(:sortable) => false
}), }),
required(:rows) => required(:rows) =>
@ -57,7 +60,7 @@ defmodule CanneryWeb.Components.TableComponent do
:asc :asc
end end
rows = rows |> Enum.sort_by(fn row -> row |> Map.get(initial_key) end, initial_sort_mode) rows = rows |> sort_by_custom_sort_value_or_value(initial_key, initial_sort_mode)
socket = socket =
socket socket
@ -68,6 +71,8 @@ defmodule CanneryWeb.Components.TableComponent do
last_sort_key: initial_key, last_sort_key: initial_key,
sort_mode: initial_sort_mode sort_mode: initial_sort_mode
) )
|> assign_new(:row_class, fn -> "bg-white" end)
|> assign_new(:alternate_row_class, fn -> "bg-gray-200" end)
{:ok, socket} {:ok, socket}
end end

View File

@ -6,7 +6,7 @@
<%= if column |> Map.get(:sortable, true) do %> <%= if column |> Map.get(:sortable, true) do %>
<th class={"p-2 #{column[:class]}"}> <th class={"p-2 #{column[:class]}"}>
<span <span
class="cursor-pointer" class="cursor-pointer flex justify-center items-center space-x-2"
phx-click="sort_by" phx-click="sort_by"
phx-value-sort-key={key} phx-value-sort-key={key}
phx-target={@myself} phx-target={@myself}
@ -33,8 +33,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<%= for values <- @rows do %> <%= for {values, i} <- @rows |> Enum.with_index() do %>
<tr> <tr class={if i |> Integer.is_even(), do: @row_class, else: @alternate_row_class}>
<%= for %{key: key} = value <- @columns do %> <%= for %{key: key} = value <- @columns do %>
<td class={"p-2 #{value[:class]}"}> <td class={"p-2 #{value[:class]}"}>
<%= case values |> Map.get(key) do %> <%= case values |> Map.get(key) do %>

View File

@ -25,7 +25,9 @@ defmodule CanneryWeb.ExportController do
ammo_groups = ammo_groups =
Ammo.list_ammo_groups(current_user, true) Ammo.list_ammo_groups(current_user, true)
|> Enum.map(fn ammo_group -> |> Enum.map(fn ammo_group ->
cpr = ammo_group |> Ammo.get_cpr()
used_count = ammo_group |> Ammo.get_used_count() used_count = ammo_group |> Ammo.get_used_count()
original_count = ammo_group |> Ammo.get_original_count()
percentage_remaining = ammo_group |> Ammo.get_percentage_remaining() percentage_remaining = ammo_group |> Ammo.get_percentage_remaining()
ammo_group ammo_group
@ -33,7 +35,9 @@ defmodule CanneryWeb.ExportController do
|> Jason.decode!() |> Jason.decode!()
|> Map.merge(%{ |> Map.merge(%{
"used_count" => used_count, "used_count" => used_count,
"percentage_remaining" => percentage_remaining "percentage_remaining" => percentage_remaining,
"original_count" => original_count,
"cpr" => cpr
}) })
end) end)

View File

@ -95,183 +95,11 @@ defmodule CanneryWeb.AmmoGroupLive.Index do
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 = [
%{label: gettext("Ammo type"), key: :ammo_type},
%{label: gettext("Count"), key: :count},
%{label: gettext("Price paid"), key: :price_paid},
%{label: gettext("% left"), key: :remaining},
%{label: gettext("Range"), key: :range},
%{label: gettext("Container"), key: :container},
%{label: gettext("Added on"), key: :added_on}
]
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 =
ammo_groups
|> Enum.map(fn ammo_group -> ammo_group |> get_row_data_for_ammo_group(columns) end)
socket socket
|> assign( |> assign(
ammo_groups: ammo_groups, ammo_groups: ammo_groups,
ammo_types_count: ammo_types_count, ammo_types_count: ammo_types_count,
containers_count: containers_count, containers_count: containers_count
columns: columns,
rows: rows
) )
end end
@spec get_row_data_for_ammo_group(AmmoGroup.t(), [map()]) :: [map()]
defp get_row_data_for_ammo_group(ammo_group, columns) do
ammo_group = ammo_group |> Repo.preload([:ammo_type, :container])
columns
|> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, ammo_group)} end)
end
@spec get_value_for_key(atom(), AmmoGroup.t()) :: any()
defp get_value_for_key(:ammo_type, %{ammo_type: ammo_type}) do
assigns = %{ammo_type: ammo_type}
{ammo_type.name,
~H"""
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, @ammo_type)} class="link">
<%= @ammo_type.name %>
</.link>
"""}
end
defp get_value_for_key(:price_paid, %{price_paid: nil}), do: {"a", nil}
defp get_value_for_key(:price_paid, %{price_paid: price_paid}),
do: gettext("$%{amount}", amount: price_paid |> :erlang.float_to_binary(decimals: 2))
defp get_value_for_key(:added_on, %{inserted_at: inserted_at}) do
assigns = %{inserted_at: inserted_at}
{inserted_at,
~H"""
<%= @inserted_at |> display_datetime() %>
"""}
end
defp get_value_for_key(:used_up_on, ammo_group) do
last_shot_group_date =
case ammo_group |> Ammo.get_last_used_shot_group() do
%{date: last_shot_group_date} -> last_shot_group_date
_no_shot_groups -> nil
end
assigns = %{last_shot_group_date: last_shot_group_date}
{last_shot_group_date,
~H"""
<%= @last_shot_group_date |> display_date() %>
"""}
end
defp get_value_for_key(:range, %{staged: staged} = ammo_group) do
assigns = %{ammo_group: ammo_group}
{staged,
~H"""
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<button
type="button"
class="mx-2 my-1 text-sm btn btn-primary"
phx-click="toggle_staged"
phx-value-ammo_group_id={@ammo_group.id}
>
<%= if @ammo_group.staged, do: gettext("Unstage"), else: gettext("Stage") %>
</button>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :add_shot_group, @ammo_group)}
class="mx-2 my-1 text-sm btn btn-primary"
>
<%= dgettext("actions", "Record shots") %>
</.link>
</div>
"""}
end
defp get_value_for_key(:remaining, ammo_group),
do: gettext("%{percentage}%", percentage: ammo_group |> Ammo.get_percentage_remaining())
defp get_value_for_key(:actions, ammo_group) do
assigns = %{ammo_group: ammo_group}
~H"""
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<.link
navigate={Routes.ammo_group_show_path(Endpoint, :show, @ammo_group)}
class="text-primary-600 link"
data-qa={"view-#{@ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-eye"></i>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :edit, @ammo_group)}
class="text-primary-600 link"
data-qa={"edit-#{@ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-edit"></i>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :clone, @ammo_group)}
class="text-primary-600 link"
data-qa={"clone-#{@ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-copy"></i>
</.link>
<.link
href="#"
class="text-primary-600 link"
phx-click="delete"
phx-value-id={@ammo_group.id}
data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")}
data-qa={"delete-#{@ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-trash"></i>
</.link>
</div>
"""
end
defp get_value_for_key(:container, %{container: nil}), do: {nil, nil}
defp get_value_for_key(:container, %{container: %{name: container_name}} = ammo_group) do
assigns = %{ammo_group: ammo_group}
{container_name,
~H"""
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<.link
navigate={Routes.container_show_path(Endpoint, :show, @ammo_group.container)}
class="mx-2 my-1 link"
>
<%= @ammo_group.container.name %>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :move, @ammo_group)}
class="mx-2 my-1 text-sm btn btn-primary"
>
<%= gettext("Move ammo") %>
</.link>
</div>
"""}
end
defp get_value_for_key(key, ammo_group), do: ammo_group |> Map.get(key)
end end

View File

@ -42,7 +42,7 @@
<% end %> <% end %>
<%= unless @ammo_groups |> Enum.empty?() do %> <%= unless @ammo_groups |> Enum.empty?() do %>
<div class="flex flex-col justify-center items-center"> <div class="flex flex-col space-y-4 justify-center items-center">
<.toggle_button action="toggle_show_used" value={@show_used}> <.toggle_button action="toggle_show_used" value={@show_used}>
<span class="title text-lg text-primary-600"> <span class="title text-lg text-primary-600">
<%= gettext("Show used") %> <%= gettext("Show used") %>
@ -51,12 +51,92 @@
</div> </div>
<.live_component <.live_component
module={CanneryWeb.Components.TableComponent} module={CanneryWeb.Components.AmmoGroupTableComponent}
id="ammo_groups_index_table" id="ammo-group-index-table"
action={@live_action} ammo_groups={@ammo_groups}
columns={@columns} current_user={@current_user}
rows={@rows} show_used={@show_used}
/> >
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">
<%= ammo_type_name %>
</.link>
</:ammo_type>
<:range :let={ammo_group}>
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<button
type="button"
class="mx-2 my-1 text-sm btn btn-primary"
phx-click="toggle_staged"
phx-value-ammo_group_id={ammo_group.id}
>
<%= if ammo_group.staged, do: gettext("Unstage"), else: gettext("Stage") %>
</button>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :add_shot_group, ammo_group)}
class="mx-2 my-1 text-sm btn btn-primary"
>
<%= dgettext("actions", "Record shots") %>
</.link>
</div>
</:range>
<:container :let={%{container: %{name: container_name} = container} = ammo_group}>
<div class="min-w-20 py-2 px-4 h-full flex flew-wrap justify-center items-center">
<.link
navigate={Routes.container_show_path(Endpoint, :show, container)}
class="mx-2 my-1 link"
>
<%= container_name %>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :move, ammo_group)}
class="mx-2 my-1 text-sm btn btn-primary"
>
<%= gettext("Move ammo") %>
</.link>
</div>
</:container>
<:actions :let={ammo_group}>
<div class="py-2 px-4 h-full space-x-4 flex justify-center items-center">
<.link
navigate={Routes.ammo_group_show_path(Endpoint, :show, ammo_group)}
class="text-primary-600 link"
data-qa={"view-#{ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-eye"></i>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :edit, ammo_group)}
class="text-primary-600 link"
data-qa={"edit-#{ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-edit"></i>
</.link>
<.link
patch={Routes.ammo_group_index_path(Endpoint, :clone, ammo_group)}
class="text-primary-600 link"
data-qa={"clone-#{ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-copy"></i>
</.link>
<.link
href="#"
class="text-primary-600 link"
phx-click="delete"
phx-value-id={ammo_group.id}
data-confirm={dgettext("prompts", "Are you sure you want to delete this ammo?")}
data-qa={"delete-#{ammo_group.id}"}
>
<i class="fa-fw fa-lg fas fa-trash"></i>
</.link>
</div>
</:actions>
</.live_component>
<% end %> <% end %>
</div> </div>

View File

@ -102,12 +102,12 @@ defmodule CanneryWeb.AmmoGroupLive.Show do
defp display_ammo_group(%{assigns: %{current_user: current_user}} = socket, id), defp display_ammo_group(%{assigns: %{current_user: current_user}} = socket, id),
do: display_ammo_group(socket, Ammo.get_ammo_group!(id, current_user)) do: display_ammo_group(socket, Ammo.get_ammo_group!(id, current_user))
@spec get_table_row_for_shot_group(AmmoGroup.t(), ShotGroup.t(), [map()]) :: [map()] @spec get_table_row_for_shot_group(AmmoGroup.t(), ShotGroup.t(), [map()]) :: map()
defp get_table_row_for_shot_group(ammo_group, %{date: date} = shot_group, columns) do defp get_table_row_for_shot_group(ammo_group, %{date: date} = shot_group, columns) do
assigns = %{ammo_group: ammo_group, shot_group: shot_group} assigns = %{ammo_group: ammo_group, shot_group: shot_group}
columns columns
|> Enum.into(%{}, fn %{key: key} -> |> Map.new(fn %{key: key} ->
value = value =
case key do case key do
:date -> :date ->

View File

@ -11,7 +11,7 @@
<span class="rounded-lg title text-lg"> <span class="rounded-lg title text-lg">
<%= gettext("Original count:") %> <%= gettext("Original count:") %>
<%= @ammo_group.count + Ammo.get_used_count(@ammo_group) %> <%= Ammo.get_original_count(@ammo_group) %>
</span> </span>
<span class="rounded-lg title text-lg"> <span class="rounded-lg title text-lg">

View File

@ -134,7 +134,7 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
end end
) )
|> Kernel.++([ |> Kernel.++([
%{label: gettext("Average Price paid"), key: :avg_price_paid, type: :avg_price_paid}, %{label: gettext("Average CPR"), key: :avg_price_paid, type: :avg_price_paid},
%{label: nil, key: "actions", type: :actions, sortable: false} %{label: nil, key: "actions", type: :actions, sortable: false}
]) ])
@ -147,7 +147,7 @@ defmodule CanneryWeb.AmmoTypeLive.Index do
defp get_ammo_type_values(ammo_type, columns, current_user) do defp get_ammo_type_values(ammo_type, columns, current_user) do
columns columns
|> Enum.into(%{}, fn %{key: key, type: type} -> |> Map.new(fn %{key: key, type: type} ->
{key, get_ammo_type_value(type, key, ammo_type, current_user)} {key, get_ammo_type_value(type, key, ammo_type, current_user)}
end) end)
end end

View File

@ -8,13 +8,41 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
alias Cannery.Ammo alias Cannery.Ammo
alias CanneryWeb.Endpoint alias CanneryWeb.Endpoint
@impl true @fields_list [
def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)} %{label: gettext("Bullet type:"), key: :bullet_type, type: :string},
%{label: gettext("Bullet core:"), key: :bullet_core, type: :string},
%{label: gettext("Cartridge:"), key: :cartridge, type: :string},
%{label: gettext("Caliber:"), key: :caliber, type: :string},
%{label: gettext("Case material:"), key: :case_material, type: :string},
%{label: gettext("Jacket type:"), key: :jacket_type, type: :string},
%{label: gettext("Muzzle velocity:"), key: :muzzle_velocity, type: :string},
%{label: gettext("Powder type:"), key: :powder_type, type: :string},
%{label: gettext("Powder grains per charge:"), key: :powder_grains_per_charge, type: :string},
%{label: gettext("Grains:"), key: :grains, type: :string},
%{label: gettext("Pressure:"), key: :pressure, type: :string},
%{label: gettext("Primer type:"), key: :primer_type, type: :string},
%{label: gettext("Firing type:"), key: :firing_type, type: :string},
%{label: gettext("Tracer:"), key: :tracer, type: :boolean},
%{label: gettext("Incendiary:"), key: :incendiary, type: :boolean},
%{label: gettext("Blank:"), key: :blank, type: :boolean},
%{label: gettext("Corrosive:"), key: :corrosive, type: :boolean},
%{label: gettext("Manufacturer:"), key: :manufacturer, type: :string},
%{label: gettext("UPC:"), key: :upc, type: :string}
]
@impl true @impl true
def handle_params(%{"id" => id}, _params, %{assigns: %{current_user: current_user}} = socket) do def mount(_params, _session, socket),
do: {:ok, socket |> assign(show_used: false, view_table: false)}
@impl true
def handle_params(
%{"id" => id},
_params,
%{assigns: %{current_user: current_user, live_action: live_action}} = socket
) do
ammo_type = Ammo.get_ammo_type!(id, current_user) ammo_type = Ammo.get_ammo_type!(id, current_user)
{:noreply, socket |> display_ammo_type(ammo_type)} socket = socket |> assign(view_table: live_action == :table) |> display_ammo_type(ammo_type)
{:noreply, socket}
end end
@impl true @impl true
@ -36,22 +64,45 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
{:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()} {:noreply, socket |> assign(:show_used, !show_used) |> display_ammo_type()}
end end
@impl true
def handle_event(
"toggle_table",
_params,
%{assigns: %{view_table: view_table, ammo_type: ammo_type}} = socket
) do
new_path =
if view_table,
do: Routes.ammo_type_show_path(Endpoint, :show, ammo_type),
else: Routes.ammo_type_show_path(Endpoint, :table, ammo_type)
{:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
end
defp display_ammo_type( defp display_ammo_type(
%{ %{assigns: %{live_action: live_action, current_user: current_user, show_used: show_used}} =
assigns: %{ socket,
live_action: live_action,
current_user: current_user,
show_used: show_used
}
} = socket,
ammo_type ammo_type
) do ) do
fields_to_display =
@fields_list
|> Enum.any?(fn %{key: field, type: type} ->
default_value =
case type do
:boolean -> false
_other_type -> nil
end
ammo_type |> Map.get(field) != default_value
end)
socket socket
|> assign( |> assign(
page_title: page_title(live_action), page_title: page_title(live_action, ammo_type),
ammo_type: ammo_type, ammo_type: ammo_type,
ammo_groups: ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used), ammo_groups: ammo_type |> Ammo.list_ammo_groups_for_type(current_user, show_used),
avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user) avg_cost_per_round: ammo_type |> Ammo.get_average_cost_for_ammo_type!(current_user),
fields_list: @fields_list,
fields_to_display: fields_to_display
) )
end end
@ -59,6 +110,9 @@ defmodule CanneryWeb.AmmoTypeLive.Show do
socket |> display_ammo_type(ammo_type) socket |> display_ammo_type(ammo_type)
end end
defp page_title(:show), do: gettext("Show Ammo type") defp page_title(action, %{name: ammo_type_name}) when action in [:show, :table],
defp page_title(:edit), do: gettext("Edit Ammo type") do: ammo_type_name
defp page_title(:edit, %{name: ammo_type_name}),
do: gettext("Edit %{ammo_type_name}", ammo_type_name: ammo_type_name)
end end

View File

@ -39,44 +39,30 @@
<hr class="hr" /> <hr class="hr" />
<%= if @fields_to_display do %>
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center"> <div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<%= for {field_name, field, type} <- [ <%= for %{label: label, key: key, type: type} <- @fields_list do %>
{gettext("Bullet type"), :bullet_type, :string}, <%= if @ammo_type |> Map.get(key) do %>
{gettext("Bullet core"), :bullet_core, :string},
{gettext("Cartridge"), :cartridge, :string},
{gettext("Caliber"), :caliber, :string},
{gettext("Case material"), :case_material, :string},
{gettext("Jacket type"), :jacket_type, :string},
{gettext("Muzzle velocity"), :muzzle_velocity, :string},
{gettext("Powder type"), :powder_type, :string},
{gettext("Powder grains per charge"), :powder_grains_per_charge, :string},
{gettext("Grains"), :grains, :string},
{gettext("Pressure"), :pressure, :string},
{gettext("Primer type"), :primer_type, :string},
{gettext("Firing type"), :firing_type, :string},
{gettext("Tracer"), :tracer, :boolean},
{gettext("Incendiary"), :incendiary, :boolean},
{gettext("Blank"), :blank, :boolean},
{gettext("Corrosive"), :corrosive, :boolean},
{gettext("Manufacturer"), :manufacturer, :string},
{gettext("UPC"), :upc, :string}
] do %>
<%= if @ammo_type |> Map.get(field) do %>
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= field_name %>: <%= label %>
</h3> </h3>
<span class="text-primary-600"> <span class="text-primary-600">
<%= case type do %> <%= case type do %>
<% :boolean -> %> <% :boolean -> %>
<%= @ammo_type |> Map.get(field) |> humanize() %> <%= @ammo_type |> Map.get(key) |> humanize() %>
<% _ -> %> <% _ -> %>
<%= @ammo_type |> Map.get(field) %> <%= @ammo_type |> Map.get(key) %>
<% end %> <% end %>
</span> </span>
<% end %> <% end %>
<% end %> <% end %>
</div>
<hr class="hr" />
<% end %>
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Rounds:") %> <%= gettext("Rounds:") %>
</h3> </h3>
@ -100,7 +86,11 @@
<span class="text-primary-600"> <span class="text-primary-600">
<%= @ammo_type |> Ammo.get_historical_count_for_ammo_type(@current_user) %> <%= @ammo_type |> Ammo.get_historical_count_for_ammo_type(@current_user) %>
</span> </span>
</div>
<hr class="hr" />
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Packs:") %> <%= gettext("Packs:") %>
</h3> </h3>
@ -124,7 +114,11 @@
<span class="text-primary-600"> <span class="text-primary-600">
<%= @ammo_type |> Ammo.get_ammo_groups_count_for_type(@current_user, true) %> <%= @ammo_type |> Ammo.get_ammo_groups_count_for_type(@current_user, true) %>
</span> </span>
</div>
<hr class="hr" />
<div class="grid sm:grid-cols-2 gap-4 text-center justify-center items-center">
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Added on:") %> <%= gettext("Added on:") %>
</h3> </h3>
@ -135,7 +129,7 @@
<%= if @avg_cost_per_round do %> <%= if @avg_cost_per_round do %>
<h3 class="title text-lg"> <h3 class="title text-lg">
<%= gettext("Average Price paid") %>: <%= gettext("Average CPR") %>:
</h3> </h3>
<span class="text-primary-600"> <span class="text-primary-600">
@ -152,20 +146,44 @@
<hr class="hr" /> <hr class="hr" />
<div class="flex flex-col justify-center items-center"> <div class="flex justify-center items-center space-x-4">
<.toggle_button action="toggle_show_used" value={@show_used}> <.toggle_button action="toggle_show_used" value={@show_used}>
<span class="title text-lg text-primary-600"> <span class="title text-lg text-primary-600">
<%= gettext("Show used") %> <%= gettext("Show used") %>
</span> </span>
</.toggle_button> </.toggle_button>
<.toggle_button action="toggle_table" value={@view_table}>
<span class="title text-lg text-primary-600">
<%= gettext("View as table") %>
</span>
</.toggle_button>
</div> </div>
<div> <div class="w-full p-4">
<%= 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="px-4 title text-lg text-primary-600">
<%= gettext("No ammo for this type") %> <%= gettext("No ammo for this type") %>
<%= display_emoji("😔") %> <%= display_emoji("😔") %>
</h2> </h2>
<% else %>
<%= if @view_table do %>
<.live_component
module={CanneryWeb.Components.AmmoGroupTableComponent}
id="ammo-type-show-table"
ammo_groups={@ammo_groups}
current_user={@current_user}
show_used={@show_used}
>
<:container :let={%{container: %{name: container_name} = container}}>
<.link
navigate={Routes.container_show_path(Endpoint, :show, container)}
class="mx-2 my-1 link"
>
<%= container_name %>
</.link>
</:container>
</.live_component>
<% 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 %>
@ -173,6 +191,7 @@
<% end %> <% end %>
</div> </div>
<% end %> <% end %>
<% end %>
</div> </div>
</div> </div>

View File

@ -153,12 +153,12 @@ defmodule CanneryWeb.ContainerLive.Index do
) )
end end
@spec get_row_data_for_container(Container.t(), [map()]) :: [map()] @spec get_row_data_for_container(Container.t(), [map()]) :: map()
defp get_row_data_for_container(container, columns) do defp get_row_data_for_container(container, columns) do
container = container |> Repo.preload([:ammo_groups, :tags]) container = container |> Repo.preload([:ammo_groups, :tags])
columns columns
|> Enum.into(%{}, fn %{key: key} -> {key, get_value_for_key(key, container)} end) |> Map.new(fn %{key: key} -> {key, get_value_for_key(key, container)} end)
end end
@spec get_value_for_key(atom(), Container.t()) :: any() @spec get_value_for_key(atom(), Container.t()) :: any()

View File

@ -26,7 +26,7 @@
</div> </div>
<% end %> <% end %>
<div class="max-w-full flex flex-row flex-wrap justify-center items-center"> <div class="w-full flex flex-row flex-wrap justify-center items-center">
<%= if @view_table do %> <%= if @view_table do %>
<.live_component <.live_component
module={CanneryWeb.Components.TableComponent} module={CanneryWeb.Components.TableComponent}

View File

@ -11,15 +11,19 @@ defmodule CanneryWeb.ContainerLive.Show do
alias Phoenix.LiveView.Socket alias Phoenix.LiveView.Socket
@impl true @impl true
def mount(_params, _session, socket), do: {:ok, socket |> assign(show_used: false)} def mount(_params, _session, socket),
do: {:ok, socket |> assign(show_used: false, view_table: false)}
@impl true @impl true
def handle_params( def handle_params(
%{"id" => id}, %{"id" => id},
_session, _session,
%{assigns: %{current_user: current_user}} = socket %{assigns: %{current_user: current_user, live_action: live_action}} = socket
) do ) do
{:noreply, socket |> render_container(id, current_user)} socket =
socket |> assign(view_table: live_action == :table) |> render_container(id, current_user)
{:noreply, socket}
end end
@impl true @impl true
@ -87,6 +91,20 @@ defmodule CanneryWeb.ContainerLive.Show do
{:noreply, socket |> assign(:show_used, !show_used) |> render_container()} {:noreply, socket |> assign(:show_used, !show_used) |> render_container()}
end end
@impl true
def handle_event(
"toggle_table",
_params,
%{assigns: %{view_table: view_table, container: container}} = socket
) do
new_path =
if view_table,
do: Routes.container_show_path(Endpoint, :show, container),
else: Routes.container_show_path(Endpoint, :table, container)
{:noreply, socket |> assign(view_table: !view_table) |> push_patch(to: new_path)}
end
@spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t() @spec render_container(Socket.t(), Container.id(), User.t()) :: Socket.t()
defp render_container( defp render_container(
%{assigns: %{live_action: live_action, show_used: show_used}} = socket, %{assigns: %{live_action: live_action, show_used: show_used}} = socket,
@ -102,7 +120,7 @@ defmodule CanneryWeb.ContainerLive.Show do
page_title = page_title =
case live_action do case live_action do
:show -> gettext("Show %{name}", name: container_name) action when action in [:show, :table] -> container_name
:edit -> gettext("Edit %{name}", name: container_name) :edit -> gettext("Edit %{name}", name: container_name)
:edit_tags -> gettext("Edit %{name} tags", name: container_name) :edit_tags -> gettext("Edit %{name} tags", name: container_name)
end end

View File

@ -91,19 +91,40 @@
<hr class="mb-4 hr" /> <hr class="mb-4 hr" />
<div class="flex flex-col justify-center items-center"> <div class="flex justify-center items-center space-x-4">
<.toggle_button action="toggle_show_used" value={@show_used}> <.toggle_button action="toggle_show_used" value={@show_used}>
<span class="title text-lg text-primary-600"> <span class="title text-lg text-primary-600">
<%= dgettext("actions", "Show used") %> <%= gettext("Show used") %>
</span>
</.toggle_button>
<.toggle_button action="toggle_table" value={@view_table}>
<span class="title text-lg text-primary-600">
<%= gettext("View as table") %>
</span> </span>
</.toggle_button> </.toggle_button>
</div> </div>
<div> <div class="w-full p-4">
<%= 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-4 title text-lg text-primary-600">
<%= gettext("No ammo in this container") %> <%= gettext("No ammo in this container") %>
</h2> </h2>
<% else %>
<%= if @view_table do %>
<.live_component
module={CanneryWeb.Components.AmmoGroupTableComponent}
id="ammo-type-show-table"
ammo_groups={@ammo_groups}
current_user={@current_user}
show_used={@show_used}
>
<:ammo_type :let={%{name: ammo_type_name} = ammo_type}>
<.link navigate={Routes.ammo_type_show_path(Endpoint, :show, ammo_type)} class="link">
<%= ammo_type_name %>
</.link>
</:ammo_type>
</.live_component>
<% 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 %>
@ -111,6 +132,7 @@
<% end %> <% end %>
</div> </div>
<% end %> <% end %>
<% end %>
</div> </div>
</div> </div>

View File

@ -138,7 +138,7 @@ defmodule CanneryWeb.HomeLive do
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<p>0.6.0</p> <p>0.7.0</p>
<i class="fas fa-md fa-info-circle"></i> <i class="fas fa-md fa-info-circle"></i>
</.link> </.link>
</li> </li>

View File

@ -88,13 +88,7 @@ defmodule CanneryWeb.RangeLive.Index do
shot_groups shot_groups
|> Enum.map(fn shot_group -> shot_group |> get_row_data_for_shot_group(columns) end) |> Enum.map(fn shot_group -> shot_group |> get_row_data_for_shot_group(columns) end)
chart_data = chart_data = shot_groups |> get_chart_data_for_shot_group()
shot_groups
|> Enum.map(fn shot_group ->
shot_group
|> get_chart_data_for_shot_group([:name, :count, :notes, :date])
end)
|> Enum.sort_by(fn %{date: date} -> date end, Date)
socket socket
|> assign( |> assign(
@ -106,40 +100,21 @@ defmodule CanneryWeb.RangeLive.Index do
) )
end end
@spec get_chart_data_for_shot_group(ShotGroup.t(), keys :: [atom()]) :: map() @spec get_chart_data_for_shot_group([ShotGroup.t()]) :: [map()]
defp get_chart_data_for_shot_group(shot_group, keys) do defp get_chart_data_for_shot_group(shot_groups) do
shot_group = shot_group |> Repo.preload(ammo_group: :ammo_type) shot_groups
|> Repo.preload(ammo_group: :ammo_type)
|> Enum.group_by(fn %{date: date} -> date end, fn %{count: count} -> count end)
|> Enum.map(fn {date, rounds} ->
sum = Enum.sum(rounds)
labels = %{
if shot_group.notes do date: date,
[gettext("Notes: %{notes}", notes: shot_group.notes)] count: sum,
else label: gettext("Rounds shot: %{count}", count: sum)
[] }
end
labels = [
gettext(
"Name: %{name}",
name: shot_group.ammo_group.ammo_type.name
),
gettext(
"Rounds shot: %{count}",
count: shot_group.count
)
| labels
]
keys
|> Map.new(fn key ->
value =
case key do
:name -> shot_group.ammo_group.ammo_type.name
key -> shot_group |> Map.get(key)
end
{key, value}
end) end)
|> Map.put(:labels, labels) |> Enum.sort_by(fn %{date: date} -> date end)
end end
@spec get_row_data_for_shot_group(ShotGroup.t(), [map()]) :: map() @spec get_row_data_for_shot_group(ShotGroup.t(), [map()]) :: map()

View File

@ -59,9 +59,9 @@
phx-update="ignore" phx-update="ignore"
class="max-h-72" class="max-h-72"
data-chart-data={Jason.encode!(@chart_data)} data-chart-data={Jason.encode!(@chart_data)}
data-label={gettext("Rounds fired")} data-label={gettext("Rounds shot")}
data-color={random_color()} data-color={random_color()}
aria-label={gettext("Rounds fired chart")} aria-label={gettext("Rounds shot chart")}
role="img" role="img"
> >
<%= dgettext("errors", "Your browser does not support the canvas element.") %> <%= dgettext("errors", "Your browser does not support the canvas element.") %>

View File

@ -71,8 +71,9 @@ defmodule CanneryWeb.Router do
live "/catalog/:id/clone", AmmoTypeLive.Index, :clone live "/catalog/:id/clone", AmmoTypeLive.Index, :clone
live "/catalog/:id/edit", AmmoTypeLive.Index, :edit live "/catalog/:id/edit", AmmoTypeLive.Index, :edit
live "/catalog/:id", AmmoTypeLive.Show, :show live "/catalog/:id/show", AmmoTypeLive.Show, :show
live "/catalog/:id/show/edit", AmmoTypeLive.Show, :edit live "/catalog/:id/show/edit", AmmoTypeLive.Show, :edit
live "/catalog/:id/show/table", AmmoTypeLive.Show, :table
live "/containers", ContainerLive.Index, :index live "/containers", ContainerLive.Index, :index
live "/containers/table", ContainerLive.Index, :table live "/containers/table", ContainerLive.Index, :table
@ -81,7 +82,8 @@ defmodule CanneryWeb.Router do
live "/containers/:id/clone", ContainerLive.Index, :clone live "/containers/:id/clone", ContainerLive.Index, :clone
live "/containers/:id/edit_tags", ContainerLive.Index, :edit_tags live "/containers/:id/edit_tags", ContainerLive.Index, :edit_tags
live "/containers/:id", ContainerLive.Show, :show live "/containers/:id/show", ContainerLive.Show, :show
live "/containers/:id/show/table", ContainerLive.Show, :table
live "/containers/:id/show/edit", ContainerLive.Show, :edit live "/containers/:id/show/edit", ContainerLive.Show, :edit
live "/containers/:id/show/edit_tags", ContainerLive.Show, :edit_tags live "/containers/:id/show/edit_tags", ContainerLive.Show, :edit_tags
@ -92,7 +94,7 @@ defmodule CanneryWeb.Router do
live "/ammo/:id/add_shot_group", AmmoGroupLive.Index, :add_shot_group live "/ammo/:id/add_shot_group", AmmoGroupLive.Index, :add_shot_group
live "/ammo/:id/move", AmmoGroupLive.Index, :move live "/ammo/:id/move", AmmoGroupLive.Index, :move
live "/ammo/:id", AmmoGroupLive.Show, :show live "/ammo/:id/show", AmmoGroupLive.Show, :show
live "/ammo/:id/show/edit", AmmoGroupLive.Show, :edit live "/ammo/:id/show/edit", AmmoGroupLive.Show, :edit
live "/ammo/:id/show/add_shot_group", AmmoGroupLive.Show, :add_shot_group live "/ammo/:id/show/add_shot_group", AmmoGroupLive.Show, :add_shot_group
live "/ammo/:id/show/move", AmmoGroupLive.Show, :move live "/ammo/:id/show/move", AmmoGroupLive.Show, :move

View File

@ -4,7 +4,7 @@ defmodule Cannery.MixProject do
def project do def project do
[ [
app: :cannery, app: :cannery,
version: "0.6.0", version: "0.7.0",
elixir: "1.14.1", elixir: "1.14.1",
elixirc_paths: elixirc_paths(Mix.env()), elixirc_paths: elixirc_paths(Mix.env()),
compilers: Mix.compilers(), compilers: Mix.compilers(),

View File

@ -156,7 +156,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -233,11 +233,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -169,7 +169,7 @@ msgstr "Munition markieren"
msgid "Why not get some ready to shoot?" 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?"
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -52,18 +52,12 @@ msgstr "Admins:"
msgid "Ammo" msgid "Ammo"
msgstr "Munition" msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "Munitionsarten" msgstr "Munitionsarten"
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr "Durchschnittlicher Kaufpreis"
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -71,7 +65,6 @@ msgstr "Hintergrundfarbe"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "Knallpatrone" msgstr "Knallpatrone"
@ -83,42 +76,37 @@ msgstr "Messing"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "Projektilkern" msgstr "Projektilkern"
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "Patronenart" msgstr "Patronenart"
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "Kaliber" msgstr "Kaliber"
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "Patrone" msgstr "Patrone"
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "Gehäusematerial" msgstr "Gehäusematerial"
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "Behälter" msgstr "Behälter"
@ -133,18 +121,17 @@ msgstr "Behälter"
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "Korrosiv" msgstr "Korrosiv"
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "Anzahl" msgstr "Anzahl"
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr "Munitionsgruppe bearbeiten" msgstr "Munitionsgruppe bearbeiten"
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "Munitionstyp bearbeiten" msgstr "Munitionstyp bearbeiten"
@ -201,14 +187,12 @@ msgstr "VM"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "Körner" msgstr "Körner"
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "Brandmunition" msgstr "Brandmunition"
@ -260,7 +244,6 @@ msgstr "Magazin, Ladestreifen, Munitionskiste usw."
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "Hersteller" msgstr "Hersteller"
@ -339,6 +322,7 @@ msgid "No tags"
msgstr "Keine Tags" msgstr "Keine Tags"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -347,7 +331,7 @@ msgstr "Keine Tags"
msgid "Notes" msgid "Notes"
msgstr "Bemerkungen" msgstr "Bemerkungen"
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -360,25 +344,23 @@ msgstr "Auf dem Bücherregal"
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "Druck" msgstr "Druck"
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "Kaufpreis" msgstr "Kaufpreis"
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "Kaufpreis:" msgstr "Kaufpreis:"
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "Zündertyp" msgstr "Zündertyp"
@ -406,11 +388,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr "Zeige Munitionsarten"
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -451,7 +428,6 @@ msgstr "Die selbst-gehostete Website zur Verwaltung von Schusswaffen"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "Leuchtspur" msgstr "Leuchtspur"
@ -499,8 +475,8 @@ msgstr "Ihre Daten bleiben bei Ihnen, Punkt"
msgid "No tags for this container" msgid "No tags for this container"
msgstr "Keine Tags für diesen Behälter" msgstr "Keine Tags für diesen Behälter"
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "Schießplatz" msgstr "Schießplatz"
@ -567,6 +543,7 @@ msgstr "Patronen verbleibend"
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "Patronen abgefeuert" msgstr "Patronen abgefeuert"
@ -581,7 +558,7 @@ msgstr "Schießkladde"
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "Munitionsgruppe verschieben" msgstr "Munitionsgruppe verschieben"
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "Munition verschieben" msgstr "Munition verschieben"
@ -596,12 +573,14 @@ msgstr "Kein weiterer Behälter"
msgid "Shot log" msgid "Shot log"
msgstr "Schießkladde" msgstr "Schießkladde"
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "$%{amount}" msgstr "$%{amount}"
@ -613,35 +592,30 @@ msgstr "Bimetall"
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "Patronenhülse" msgstr "Patronenhülse"
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "Mündungsgeschwindigkeit" msgstr "Mündungsgeschwindigkeit"
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "Pulverkörner pro Ladung" msgstr "Pulverkörner pro Ladung"
#: 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:70 #: lib/cannery_web/live/ammo_type_live/index.ex:70
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "Pulverart" msgstr "Pulverart"
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "UPC" msgstr "UPC"
@ -662,19 +636,18 @@ msgstr "Derzeitiges Passwort"
msgid "New password" msgid "New password"
msgstr "Neues Passwort" msgstr "Neues Passwort"
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "Markiert" msgstr "Markiert"
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "Demarkiert" msgstr "Demarkiert"
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "Patronenhülsenform" msgstr "Patronenhülsenform"
@ -690,36 +663,32 @@ msgid "Loading..."
msgstr "Lädt..." msgstr "Lädt..."
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "%{name} bearbeiten" msgstr "%{name} bearbeiten"
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "Editiere %{name} Tags" msgstr "Editiere %{name} Tags"
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds:" msgid "Rounds:"
msgstr "Patronen:" msgstr "Patronen:"
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr "Zeige %{name}"
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "Keine Preisinformationen" msgstr "Keine Preisinformationen"
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "% verbleibend" msgstr "% verbleibend"
@ -790,14 +759,14 @@ msgstr "Kopien"
msgid "Ammo types" msgid "Ammo types"
msgstr "Munitionsart" msgstr "Munitionsart"
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "Hinzugefügt am" msgstr "Hinzugefügt am"
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "Hinzugefügt am:" msgstr "Hinzugefügt am:"
@ -866,7 +835,7 @@ msgstr "Munitionstyp bearbeiten"
msgid "Move Ammo" msgid "Move Ammo"
msgstr "Munition verschieben" msgstr "Munition verschieben"
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
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"
@ -882,7 +851,7 @@ msgid "This ammo is not in a container"
msgstr "Diese Munitionsgruppe ist nicht in einem Behälter" msgstr "Diese Munitionsgruppe ist nicht in einem Behälter"
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -904,55 +873,36 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited" msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Container:" msgid "Container:"
msgstr "Behälter" msgstr "Behälter"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds fired"
msgstr "Patronen verbraucht"
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "Patronen abgefeuert" msgstr "Patronen abgefeuert"
@ -969,7 +919,9 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "Patronen:" msgstr "Patronen:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -979,7 +931,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -989,7 +941,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "Summe aller Patronen" msgstr "Summe aller Patronen"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "Summe abgegebener Schüsse:" msgstr "Summe abgegebener Schüsse:"
@ -999,7 +951,7 @@ msgstr "Summe abgegebener Schüsse:"
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -1009,7 +961,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1018,3 +970,140 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Patronen abgefeuert"
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Blank:"
msgstr "Knallpatrone"
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet core:"
msgstr "Projektilkern"
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet type:"
msgstr "Patronenart"
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format, fuzzy
msgid "Caliber:"
msgstr "Kaliber"
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Cartridge:"
msgstr "Patrone"
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Case material:"
msgstr "Gehäusematerial"
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Corrosive:"
msgstr "Korrosiv"
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format, fuzzy
msgid "Firing type:"
msgstr "Patronenhülsenform"
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format, fuzzy
msgid "Grains:"
msgstr "Körner"
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Incendiary:"
msgstr "Brandmunition"
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Jacket type:"
msgstr "Patronenhülse"
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format, fuzzy
msgid "Manufacturer:"
msgstr "Hersteller"
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format, fuzzy
msgid "Muzzle velocity:"
msgstr "Mündungsgeschwindigkeit"
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder grains per charge:"
msgstr "Pulverkörner pro Ladung"
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder type:"
msgstr "Pulverart"
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format, fuzzy
msgid "Pressure:"
msgstr "Druck"
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer type:"
msgstr "Zündertyp"
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Tracer:"
msgstr "Leuchtspur"
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "UPC:"
msgstr "UPC"
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr "%{name} bearbeiten"
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr "Ursprüngliche Anzahl:"
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr "Ursprüngliche Anzahl:"

View File

@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Behälter muss vor dem Löschen leer sein" msgstr "Behälter muss vor dem Löschen leer sein"
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "Konnte %{name} nicht löschen: %{error}" msgstr "Konnte %{name} nicht löschen: %{error}"
@ -187,7 +187,7 @@ msgstr ""
"Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War " "Ungültige Nummer an Kopien. Muss zwischen 1 and %{max} liegen. War "
"%{multiplier}" "%{multiplier}"
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} erfolgreich erstellt" msgstr "%{name} erfolgreich erstellt"
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} erfolgreich aktiviert" msgstr "%{name} erfolgreich aktiviert"
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "%{name} wurde gelöscht" msgstr "%{name} wurde gelöscht"
@ -100,7 +100,7 @@ msgstr "Sind Sie sicher, dass sie %{name} löschen möchten?"
msgid "Are you sure you want to delete the invite for %{name}?" 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?"
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -193,7 +193,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "%{name} erfolgreich hinzugefügt" msgstr "%{name} erfolgreich hinzugefügt"
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} wurde von %{container_name} entfernt" msgstr "%{tag_name} wurde von %{container_name} entfernt"
@ -214,7 +214,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?" msgstr "Sind sie sicher, dass Sie diese Munition demarkieren möchten?"
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?" msgstr "Sind sie sicher, dass sie die Schießkladde löschen möchten?"

View File

@ -37,18 +37,12 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -56,7 +50,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "" msgstr ""
@ -68,42 +61,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "" msgstr ""
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "" msgstr ""
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "" msgstr ""
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "" msgstr ""
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: 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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "" msgstr ""
@ -118,18 +106,17 @@ msgstr ""
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -159,7 +146,6 @@ msgid "Edit Ammo group"
msgstr "" msgstr ""
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "" msgstr ""
@ -186,14 +172,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "" msgstr ""
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "" msgstr ""
@ -245,7 +229,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "" msgstr ""
@ -324,6 +307,7 @@ msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -332,7 +316,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -345,25 +329,23 @@ msgstr ""
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "" msgstr ""
@ -389,11 +371,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -434,7 +411,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "" msgstr ""
@ -482,8 +458,8 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "" msgstr ""
@ -550,6 +526,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "" msgstr ""
@ -564,7 +541,7 @@ msgstr ""
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "" msgstr ""
@ -579,12 +556,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -596,35 +575,30 @@ msgstr ""
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "" msgstr ""
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "" msgstr ""
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "" msgstr ""
#: 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:70 #: lib/cannery_web/live/ammo_type_live/index.ex:70
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "" msgstr ""
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "" msgstr ""
@ -645,19 +619,18 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "" msgstr ""
@ -673,36 +646,32 @@ msgid "Loading..."
msgstr "" msgstr ""
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -773,14 +742,14 @@ msgstr ""
msgid "Ammo types" msgid "Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -849,7 +818,7 @@ msgstr ""
msgid "Move Ammo" msgid "Move Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo in this container" msgid "No ammo in this container"
msgstr "" msgstr ""
@ -865,7 +834,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -887,55 +856,36 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited" msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format
msgid "Rounds fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "" msgstr ""
@ -952,7 +902,9 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -962,7 +914,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -972,7 +924,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -982,7 +934,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -992,7 +944,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1001,3 +953,140 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds shot chart"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format
msgid "Blank:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format
msgid "Bullet core:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format
msgid "Bullet type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format
msgid "Caliber:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format
msgid "Cartridge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format
msgid "Case material:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format
msgid "Corrosive:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format
msgid "Firing type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format
msgid "Grains:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format
msgid "Incendiary:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format
msgid "Jacket type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format
msgid "Manufacturer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format
msgid "Muzzle velocity:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format
msgid "Powder grains per charge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format
msgid "Powder type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format
msgid "Pressure:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format
msgid "Primer type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format
msgid "Tracer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format
msgid "UPC:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format
msgid "Original Count"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format
msgid "Original Count:"
msgstr ""

View File

@ -157,7 +157,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -234,11 +234,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -38,18 +38,12 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -57,7 +51,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "" msgstr ""
@ -69,42 +62,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "" msgstr ""
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "" msgstr ""
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "" msgstr ""
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "" msgstr ""
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: 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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "" msgstr ""
@ -119,18 +107,17 @@ msgstr ""
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -160,7 +147,6 @@ msgid "Edit Ammo group"
msgstr "" msgstr ""
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "" msgstr ""
@ -187,14 +173,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "" msgstr ""
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "" msgstr ""
@ -246,7 +230,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "" msgstr ""
@ -325,6 +308,7 @@ msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -333,7 +317,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -346,25 +330,23 @@ msgstr ""
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "" msgstr ""
@ -390,11 +372,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -435,7 +412,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "" msgstr ""
@ -483,8 +459,8 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "" msgstr ""
@ -551,6 +527,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "" msgstr ""
@ -565,7 +542,7 @@ msgstr ""
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "" msgstr ""
@ -580,12 +557,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -597,35 +576,30 @@ msgstr ""
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "" msgstr ""
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "" msgstr ""
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "" msgstr ""
#: 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:70 #: lib/cannery_web/live/ammo_type_live/index.ex:70
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "" msgstr ""
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "" msgstr ""
@ -646,19 +620,18 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "" msgstr ""
@ -674,36 +647,32 @@ msgid "Loading..."
msgstr "" msgstr ""
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -774,14 +743,14 @@ msgstr ""
msgid "Ammo types" msgid "Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -850,7 +819,7 @@ msgstr ""
msgid "Move Ammo" msgid "Move Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container" msgid "No ammo in this container"
msgstr "" msgstr ""
@ -866,7 +835,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -888,55 +857,36 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited" msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "" msgstr ""
@ -953,7 +903,9 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -963,7 +915,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -973,7 +925,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -983,7 +935,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -993,7 +945,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1002,3 +954,140 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Blank:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet core:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format, fuzzy
msgid "Caliber:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Cartridge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Case material:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Corrosive:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format, fuzzy
msgid "Firing type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format, fuzzy
msgid "Grains:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Incendiary:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Jacket type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format, fuzzy
msgid "Manufacturer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format, fuzzy
msgid "Muzzle velocity:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder grains per charge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format, fuzzy
msgid "Pressure:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Tracer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "UPC:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""

View File

@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "" msgstr ""
@ -170,7 +170,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -20,7 +20,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -39,7 +39,7 @@ msgid "%{name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "" msgstr ""
@ -86,7 +86,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?" msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -173,7 +173,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "" msgstr ""
@ -194,7 +194,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""

View File

@ -16,7 +16,7 @@ msgid "Container must be empty before deleting"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "" msgstr ""
@ -169,7 +169,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -169,7 +169,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -52,18 +52,12 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -71,7 +65,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "" msgstr ""
@ -83,42 +76,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "" msgstr ""
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "" msgstr ""
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "" msgstr ""
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "" msgstr ""
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: 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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "" msgstr ""
@ -133,18 +121,17 @@ msgstr ""
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr "" msgstr ""
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "" msgstr ""
@ -201,14 +187,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "" msgstr ""
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "" msgstr ""
@ -260,7 +244,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "" msgstr ""
@ -339,6 +322,7 @@ msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -347,7 +331,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -360,25 +344,23 @@ msgstr ""
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "" msgstr ""
@ -404,11 +386,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -449,7 +426,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "" msgstr ""
@ -497,8 +473,8 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "" msgstr ""
@ -565,6 +541,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "" msgstr ""
@ -579,7 +556,7 @@ msgstr ""
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "" msgstr ""
@ -594,12 +571,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -611,35 +590,30 @@ msgstr ""
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "" msgstr ""
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "" msgstr ""
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "" msgstr ""
#: 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:70 #: lib/cannery_web/live/ammo_type_live/index.ex:70
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "" msgstr ""
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "" msgstr ""
@ -660,19 +634,18 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "" msgstr ""
@ -688,36 +661,32 @@ msgid "Loading..."
msgstr "" msgstr ""
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -788,14 +757,14 @@ msgstr ""
msgid "Ammo types" msgid "Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -864,7 +833,7 @@ msgstr ""
msgid "Move Ammo" msgid "Move Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "No ammo in this container" msgid "No ammo in this container"
msgstr "" msgstr ""
@ -880,7 +849,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -902,55 +871,36 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited" msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "" msgstr ""
@ -967,7 +917,9 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -977,7 +929,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -987,7 +939,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -997,7 +949,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -1007,7 +959,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1016,3 +968,140 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Blank:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet core:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format, fuzzy
msgid "Caliber:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Cartridge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Case material:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Corrosive:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format, fuzzy
msgid "Firing type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format, fuzzy
msgid "Grains:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Incendiary:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Jacket type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format, fuzzy
msgid "Manufacturer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format, fuzzy
msgid "Muzzle velocity:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder grains per charge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format, fuzzy
msgid "Pressure:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Tracer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "UPC:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""

View File

@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "el Contenedor debe estar vació antes de borrarlo" msgstr "el Contenedor debe estar vació antes de borrarlo"
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "No se pudo eliminar %{name}: %{error}" msgstr "No se pudo eliminar %{name}: %{error}"
@ -185,7 +185,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} creado exitosamente" msgstr "%{name} creado exitosamente"
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activado exitosamente" msgstr "%{name} activado exitosamente"
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "%{name} ha sido borrado" msgstr "%{name} ha sido borrado"
@ -100,7 +100,7 @@ msgstr "Está seguro que desea eliminar %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?" 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}?"
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -192,7 +192,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "%{name} añadido exitosamente" msgstr "%{name} añadido exitosamente"
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "se ha removido %{tag_name} de %{container_name}" msgstr "se ha removido %{tag_name} de %{container_name}"
@ -213,7 +213,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Está seguro que desea desmontar esta munición?" msgstr "Está seguro que desea desmontar esta munición?"
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""

View File

@ -169,7 +169,7 @@ msgstr "Munition préparée"
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "Pourquoi pas en préparer pour tirer?" msgstr "Pourquoi pas en préparer pour tirer?"
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -246,11 +246,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -52,18 +52,12 @@ msgstr "Administrateur·ices:"
msgid "Ammo" msgid "Ammo"
msgstr "Munition" msgstr "Munition"
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "Type de munition" msgstr "Type de munition"
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr "Prix acheté moyen"
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -71,7 +65,6 @@ msgstr "Couleur de fond"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "Vide" msgstr "Vide"
@ -83,42 +76,37 @@ msgstr "Cuivre"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "Noyau de balle" msgstr "Noyau de balle"
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "Type de balle" msgstr "Type de balle"
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "Calibre" msgstr "Calibre"
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "Cartouche" msgstr "Cartouche"
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "Matériau de la caisse" msgstr "Matériau de la caisse"
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: lib/cannery_web/components/move_ammo_group_component.ex:67 #: lib/cannery_web/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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "Conteneur" msgstr "Conteneur"
@ -133,18 +121,17 @@ msgstr "Conteneurs"
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "Corrosive" msgstr "Corrosive"
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "Quantité" msgstr "Quantité"
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -174,7 +161,6 @@ msgid "Edit Ammo group"
msgstr "Éditer le groupe de munition" msgstr "Éditer le groupe de munition"
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "Éditer le type de munition" msgstr "Éditer le type de munition"
@ -201,14 +187,12 @@ msgstr "FMJ"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "Graines" msgstr "Graines"
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "Incendiaire" msgstr "Incendiaire"
@ -260,7 +244,6 @@ msgstr "Chargeur, lame-chargeur, boite de munition, etc."
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "Fabricant" msgstr "Fabricant"
@ -339,6 +322,7 @@ msgid "No tags"
msgstr "Aucun tag" msgstr "Aucun tag"
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -347,7 +331,7 @@ msgstr "Aucun tag"
msgid "Notes" msgid "Notes"
msgstr "Notes" msgstr "Notes"
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -360,25 +344,23 @@ msgstr "Sur létagère"
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "Pression" msgstr "Pression"
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "Prix payé" msgstr "Prix payé"
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "Prix payé:" msgstr "Prix payé:"
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "Type damorce" msgstr "Type damorce"
@ -406,11 +388,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr "Montrer le type de munition"
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -453,7 +430,6 @@ msgstr "Le site web de suivi darme à feux auto-hébergé"
#: 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:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "Traceuse" msgstr "Traceuse"
@ -501,8 +477,8 @@ msgstr "Vos données restent avec vous, point final"
msgid "No tags for this container" msgid "No tags for this container"
msgstr "Aucun tag pour ce conteneur" msgstr "Aucun tag pour ce conteneur"
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "Portée" msgstr "Portée"
@ -569,6 +545,7 @@ msgstr "Cartouches restantes"
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "Cartouches tirées" msgstr "Cartouches tirées"
@ -583,7 +560,7 @@ msgstr "Enregistrements de tir"
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "Déplacer le groupe de munition" msgstr "Déplacer le groupe de munition"
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "Déplacer munition" msgstr "Déplacer munition"
@ -598,12 +575,14 @@ msgstr "Aucun autre conteneur"
msgid "Shot log" msgid "Shot log"
msgstr "Évènements de tir" msgstr "Évènements de tir"
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "%{amount}$" msgstr "%{amount}$"
@ -615,35 +594,30 @@ msgstr "Bi-métal"
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "Type de douille" msgstr "Type de douille"
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "Vélocité du canon" msgstr "Vélocité du canon"
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "Graines de poudre par charge" msgstr "Graines de poudre par charge"
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:89
#: 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:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "Type de poudre" msgstr "Type de poudre"
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "UPC" msgstr "UPC"
@ -664,19 +638,18 @@ msgstr "Mot de passe actuel"
msgid "New password" msgid "New password"
msgstr "Nouveau mot de passe" msgstr "Nouveau mot de passe"
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "Sélectionné" msgstr "Sélectionné"
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "Désélectionner" msgstr "Désélectionner"
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "Type dallumage" msgstr "Type dallumage"
@ -692,36 +665,32 @@ msgid "Loading..."
msgstr "Chargement en cours…" msgstr "Chargement en cours…"
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "Éditer %{name}" msgstr "Éditer %{name}"
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "Éditer les tags de %{name}" msgstr "Éditer les tags de %{name}"
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds:" msgid "Rounds:"
msgstr "Cartouches:" msgstr "Cartouches:"
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr "Montrer %{name}"
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "Aucune information de prix" msgstr "Aucune information de prix"
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "%restante" msgstr "%restante"
@ -792,14 +761,14 @@ msgstr "Exemplaires"
msgid "Ammo types" msgid "Ammo types"
msgstr "Types de munition" msgstr "Types de munition"
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "Ajouté le" msgstr "Ajouté le"
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "Ajouté le:" msgstr "Ajouté le:"
@ -868,7 +837,7 @@ msgstr "Éditer le type de munition"
msgid "Move Ammo" msgid "Move Ammo"
msgstr "Déplacer munition" msgstr "Déplacer munition"
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
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"
@ -884,7 +853,7 @@ msgid "This ammo is not in a container"
msgstr "Ce groupe de munition nest pas dans un conteneur" msgstr "Ce groupe de munition nest pas dans un conteneur"
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -907,55 +876,36 @@ msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
"Laissez \"Utilisations restantes\" vide pour rendre l'invitation illimitée" "Laissez \"Utilisations restantes\" vide pour rendre l'invitation illimitée"
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Container:" msgid "Container:"
msgstr "Conteneur" msgstr "Conteneur"
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds fired"
msgstr "Cartouches utilisées"
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "Cartouches tirées" msgstr "Cartouches tirées"
@ -972,7 +922,9 @@ msgstr "Packages:"
msgid "Rounds" msgid "Rounds"
msgstr "Cartouches:" msgstr "Cartouches:"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -982,7 +934,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -992,7 +944,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "Quantité de cartouches" msgstr "Quantité de cartouches"
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "Nombre totale de cartouches tirées:" msgstr "Nombre totale de cartouches tirées:"
@ -1002,7 +954,7 @@ msgstr "Nombre totale de cartouches tirées:"
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -1012,7 +964,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1021,3 +973,140 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr "Cartouches tirées"
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Blank:"
msgstr "Vide"
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet core:"
msgstr "Noyau de balle"
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet type:"
msgstr "Type de balle"
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format, fuzzy
msgid "Caliber:"
msgstr "Calibre"
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Cartridge:"
msgstr "Cartouche"
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Case material:"
msgstr "Matériau de la caisse"
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Corrosive:"
msgstr "Corrosive"
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format, fuzzy
msgid "Firing type:"
msgstr "Type dallumage"
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format, fuzzy
msgid "Grains:"
msgstr "Graines"
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Incendiary:"
msgstr "Incendiaire"
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Jacket type:"
msgstr "Type de douille"
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format, fuzzy
msgid "Manufacturer:"
msgstr "Fabricant"
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format, fuzzy
msgid "Muzzle velocity:"
msgstr "Vélocité du canon"
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder grains per charge:"
msgstr "Graines de poudre par charge"
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder type:"
msgstr "Type de poudre"
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format, fuzzy
msgid "Pressure:"
msgstr "Pression"
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer type:"
msgstr "Type damorce"
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Tracer:"
msgstr "Traceuse"
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "UPC:"
msgstr "UPC"
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr "Éditer %{name}"
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr "Nombre original:"
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr "Nombre original:"

View File

@ -29,7 +29,7 @@ msgid "Container must be empty before deleting"
msgstr "Le conteneur doit être vide pour être supprimé" msgstr "Le conteneur doit être vide pour être supprimé"
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "Impossible de supprimer %{name} : %{error}" msgstr "Impossible de supprimer %{name} : %{error}"
@ -186,7 +186,7 @@ msgstr "Impossible d'analyser le nombre de copies"
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" 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}"
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "Multiplicateur invalide" msgstr "Multiplicateur invalide"

View File

@ -32,7 +32,7 @@ msgid "%{name} created successfully"
msgstr "%{name} créé· avec succès" msgstr "%{name} créé· avec succès"
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -51,7 +51,7 @@ msgid "%{name} enabled succesfully"
msgstr "%{name} activé·e avec succès" msgstr "%{name} activé·e avec succès"
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "%{name} a été supprimé·e" msgstr "%{name} a été supprimé·e"
@ -101,7 +101,7 @@ msgstr "Êtes-vous certain·e de supprimer %{name}?"
msgid "Are you sure you want to delete the invite for %{name}?" msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "Êtes-vous certain·e de supprimer linvitation pour %{name}?" msgstr "Êtes-vous certain·e de supprimer linvitation pour %{name}?"
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -194,7 +194,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "%{name} a été ajouté avec succès" msgstr "%{name} a été ajouté avec succès"
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "%{tag_name} a été retiré de %{container_name}" msgstr "%{tag_name} a été retiré de %{container_name}"
@ -215,7 +215,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition?" msgstr "Êtes-vous certain·e de vouloir désélectionner cette munition?"
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir?" msgstr "Êtes-vous certain·e de vouloir supprimer cet enregistrement de tir?"

View File

@ -167,7 +167,7 @@ msgstr ""
msgid "Why not get some ready to shoot?" msgid "Why not get some ready to shoot?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:199 #: lib/cannery_web/live/ammo_group_live/index.html.heex:80
#: lib/cannery_web/live/ammo_group_live/show.html.heex:101 #: lib/cannery_web/live/ammo_group_live/show.html.heex:101
#: lib/cannery_web/live/range_live/index.html.heex:38 #: lib/cannery_web/live/range_live/index.html.heex:38
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -244,11 +244,6 @@ msgstr ""
msgid "Set Unlimited" msgid "Set Unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format
msgid "Show used"
msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.html.heex:86 #: lib/cannery_web/live/ammo_group_live/show.html.heex:86
#: lib/cannery_web/live/range_live/index.html.heex:31 #: lib/cannery_web/live/range_live/index.html.heex:31
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format

View File

@ -48,18 +48,12 @@ msgstr ""
msgid "Ammo" msgid "Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:96
#: 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:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Ammo type" msgid "Ammo type"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:138
#, elixir-autogen, elixir-format
msgid "Average Price paid"
msgstr ""
#: lib/cannery_web/live/tag_live/form_component.ex:79 #: lib/cannery_web/live/tag_live/form_component.ex:79
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Background color" msgid "Background color"
@ -67,7 +61,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:140
#: lib/cannery_web/live/ammo_type_live/index.ex:82 #: lib/cannery_web/live/ammo_type_live/index.ex:82
#: lib/cannery_web/live/ammo_type_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Blank" msgid "Blank"
msgstr "" msgstr ""
@ -79,42 +72,37 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:44
#: lib/cannery_web/live/ammo_type_live/index.ex:64 #: lib/cannery_web/live/ammo_type_live/index.ex:64
#: lib/cannery_web/live/ammo_type_live/show.html.heex:45
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet core" msgid "Bullet core"
msgstr "" msgstr ""
#: 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:63 #: lib/cannery_web/live/ammo_type_live/index.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:44
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Bullet type" msgid "Bullet type"
msgstr "" msgstr ""
#: 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:66 #: lib/cannery_web/live/ammo_type_live/index.ex:66
#: lib/cannery_web/live/ammo_type_live/show.html.heex:47
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Caliber" msgid "Caliber"
msgstr "" msgstr ""
#: 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:65 #: lib/cannery_web/live/ammo_type_live/index.ex:65
#: lib/cannery_web/live/ammo_type_live/show.html.heex:46
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Cartridge" msgid "Cartridge"
msgstr "" msgstr ""
#: 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:67 #: lib/cannery_web/live/ammo_type_live/index.ex:67
#: lib/cannery_web/live/ammo_type_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Case material" msgid "Case material"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:72
#: 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:104
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container" msgid "Container"
msgstr "" msgstr ""
@ -129,18 +117,17 @@ msgstr ""
#: 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:83 #: lib/cannery_web/live/ammo_type_live/index.ex:83
#: lib/cannery_web/live/ammo_type_live/show.html.heex:60
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Corrosive" msgid "Corrosive"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:83
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:27
#: lib/cannery_web/live/ammo_group_live/index.ex:100
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count" msgid "Count"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:37 #: lib/cannery_web/components/ammo_group_card.ex:38
#: lib/cannery_web/live/ammo_group_live/show.html.heex:8 #: lib/cannery_web/live/ammo_group_live/show.html.heex:8
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Count:" msgid "Count:"
@ -170,7 +157,6 @@ msgid "Edit Ammo group"
msgstr "" msgstr ""
#: 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:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit Ammo type" msgid "Edit Ammo type"
msgstr "" msgstr ""
@ -197,14 +183,12 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:103
#: lib/cannery_web/live/ammo_type_live/index.ex:76 #: lib/cannery_web/live/ammo_type_live/index.ex:76
#: lib/cannery_web/live/ammo_type_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Grains" msgid "Grains"
msgstr "" msgstr ""
#: 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:81 #: lib/cannery_web/live/ammo_type_live/index.ex:81
#: lib/cannery_web/live/ammo_type_live/show.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Incendiary" msgid "Incendiary"
msgstr "" msgstr ""
@ -256,7 +240,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:148
#: lib/cannery_web/live/ammo_type_live/index.ex:84 #: lib/cannery_web/live/ammo_type_live/index.ex:84
#: lib/cannery_web/live/ammo_type_live/show.html.heex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Manufacturer" msgid "Manufacturer"
msgstr "" msgstr ""
@ -335,6 +318,7 @@ msgid "No tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/add_shot_group_component.html.heex:37 #: lib/cannery_web/components/add_shot_group_component.html.heex:37
#: lib/cannery_web/components/ammo_group_table_component.ex:88
#: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41 #: lib/cannery_web/live/ammo_group_live/form_component.html.heex:41
#: lib/cannery_web/live/ammo_group_live/show.ex:88 #: lib/cannery_web/live/ammo_group_live/show.ex:88
#: lib/cannery_web/live/range_live/form_component.html.heex:29 #: lib/cannery_web/live/range_live/form_component.html.heex:29
@ -343,7 +327,7 @@ msgstr ""
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:43 #: lib/cannery_web/components/ammo_group_card.ex:51
#: lib/cannery_web/live/ammo_group_live/show.html.heex:24 #: lib/cannery_web/live/ammo_group_live/show.html.heex:24
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Notes:" msgid "Notes:"
@ -356,25 +340,23 @@ msgstr ""
#: 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:77 #: lib/cannery_web/live/ammo_type_live/index.ex:77
#: lib/cannery_web/live/ammo_type_live/show.html.heex:54
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Pressure" msgid "Pressure"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:85
#: 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:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid" msgid "Price paid"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:62 #: lib/cannery_web/components/ammo_group_card.ex:70
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Price paid:" msgid "Price paid:"
msgstr "" msgstr ""
#: 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:78 #: lib/cannery_web/live/ammo_type_live/index.ex:78
#: lib/cannery_web/live/ammo_type_live/show.html.heex:55
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Primer type" msgid "Primer type"
msgstr "" msgstr ""
@ -400,11 +382,6 @@ msgstr ""
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:62
#, elixir-autogen, elixir-format
msgid "Show Ammo type"
msgstr ""
#: lib/cannery_web/live/home_live.ex:83 #: lib/cannery_web/live/home_live.ex:83
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Simple:" msgid "Simple:"
@ -445,7 +422,6 @@ msgstr ""
#: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132 #: lib/cannery_web/live/ammo_type_live/form_component.html.heex:132
#: lib/cannery_web/live/ammo_type_live/index.ex:80 #: lib/cannery_web/live/ammo_type_live/index.ex:80
#: lib/cannery_web/live/ammo_type_live/show.html.heex:57
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tracer" msgid "Tracer"
msgstr "" msgstr ""
@ -493,8 +469,8 @@ msgstr ""
msgid "No tags for this container" msgid "No tags for this container"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:79
#: lib/cannery_web/components/topbar.ex:81 #: lib/cannery_web/components/topbar.ex:81
#: lib/cannery_web/live/ammo_group_live/index.ex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Range" msgid "Range"
msgstr "" msgstr ""
@ -561,6 +537,7 @@ msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:87 #: lib/cannery_web/live/ammo_group_live/show.ex:87
#: lib/cannery_web/live/range_live/index.ex:81 #: lib/cannery_web/live/range_live/index.ex:81
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds shot" msgid "Rounds shot"
msgstr "" msgstr ""
@ -575,7 +552,7 @@ msgstr ""
msgid "Move Ammo group" msgid "Move Ammo group"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:270 #: lib/cannery_web/live/ammo_group_live/index.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Move ammo" msgid "Move ammo"
msgstr "" msgstr ""
@ -590,12 +567,14 @@ msgstr ""
msgid "Shot log" msgid "Shot log"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:63 #: lib/cannery_web/components/ammo_group_card.ex:71
#: lib/cannery_web/live/ammo_group_live/index.ex:154 #: lib/cannery_web/components/ammo_group_card.ex:78
#: lib/cannery_web/components/ammo_group_table_component.ex:159
#: lib/cannery_web/components/ammo_group_table_component.ex:227
#: 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:179 #: lib/cannery_web/live/ammo_type_live/index.ex:179
#: lib/cannery_web/live/ammo_type_live/show.html.heex:142 #: lib/cannery_web/live/ammo_type_live/show.html.heex:136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "$%{amount}" msgid "$%{amount}"
msgstr "" msgstr ""
@ -607,35 +586,30 @@ msgstr ""
#: 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:68 #: lib/cannery_web/live/ammo_type_live/index.ex:68
#: lib/cannery_web/live/ammo_type_live/show.html.heex:49
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Jacket type" msgid "Jacket type"
msgstr "" msgstr ""
#: 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:69 #: lib/cannery_web/live/ammo_type_live/index.ex:69
#: lib/cannery_web/live/ammo_type_live/show.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Muzzle velocity" msgid "Muzzle velocity"
msgstr "" msgstr ""
#: 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:72 #: lib/cannery_web/live/ammo_type_live/index.ex:72
#: lib/cannery_web/live/ammo_type_live/show.html.heex:52
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder grains per charge" msgid "Powder grains per charge"
msgstr "" msgstr ""
#: 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:70 #: lib/cannery_web/live/ammo_type_live/index.ex:70
#: lib/cannery_web/live/ammo_type_live/show.html.heex:51
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Powder type" msgid "Powder type"
msgstr "" msgstr ""
#: 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:85 #: lib/cannery_web/live/ammo_type_live/index.ex:85
#: lib/cannery_web/live/ammo_type_live/show.html.heex:62
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "UPC" msgid "UPC"
msgstr "" msgstr ""
@ -656,19 +630,18 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Stage" msgid "Stage"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:192 #: lib/cannery_web/live/ammo_group_live/index.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unstage" msgid "Unstage"
msgstr "" msgstr ""
#: 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:79 #: lib/cannery_web/live/ammo_type_live/index.ex:79
#: lib/cannery_web/live/ammo_type_live/show.html.heex:56
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Firing type" msgid "Firing type"
msgstr "" msgstr ""
@ -684,36 +657,32 @@ msgid "Loading..."
msgstr "" msgstr ""
#: 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:106 #: lib/cannery_web/live/container_live/show.ex:124
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name}" msgid "Edit %{name}"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:65 #: lib/cannery_web/live/container_live/index.ex:65
#: lib/cannery_web/live/container_live/show.ex:107 #: lib/cannery_web/live/container_live/show.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Edit %{name} tags" msgid "Edit %{name} tags"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:63 #: lib/cannery_web/components/container_card.ex:63
#: lib/cannery_web/live/ammo_type_live/show.html.heex:81 #: lib/cannery_web/live/ammo_type_live/show.html.heex:67
#: lib/cannery_web/live/container_live/show.html.heex:32 #: lib/cannery_web/live/container_live/show.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rounds:" msgid "Rounds:"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:224
#, elixir-autogen, elixir-format
msgid "Show %{name}"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:178 #: lib/cannery_web/live/ammo_type_live/index.ex:178
#: lib/cannery_web/live/ammo_type_live/show.html.heex:148 #: lib/cannery_web/live/ammo_type_live/show.html.heex:142
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No cost information" msgid "No cost information"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:102 #: lib/cannery_web/components/ammo_group_table_component.ex:87
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "% left" msgid "% left"
msgstr "" msgstr ""
@ -784,14 +753,14 @@ msgstr ""
msgid "Ammo types" msgid "Ammo types"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:105 #: lib/cannery_web/components/ammo_group_table_component.ex:66
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on" msgid "Added on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:49 #: lib/cannery_web/components/ammo_group_card.ex:57
#: 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:129 #: lib/cannery_web/live/ammo_type_live/show.html.heex:123
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Added on:" msgid "Added on:"
msgstr "" msgstr ""
@ -860,7 +829,7 @@ msgstr ""
msgid "Move Ammo" msgid "Move Ammo"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.html.heex:105 #: lib/cannery_web/live/container_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No ammo in this container" msgid "No ammo in this container"
msgstr "" msgstr ""
@ -876,7 +845,7 @@ msgid "This ammo is not in a container"
msgstr "" msgstr ""
#: lib/cannery_web/components/container_card.ex:58 #: lib/cannery_web/components/container_card.ex:58
#: lib/cannery_web/live/ammo_type_live/show.html.heex:105 #: lib/cannery_web/live/ammo_type_live/show.html.heex:95
#: lib/cannery_web/live/container_live/show.html.heex:27 #: lib/cannery_web/live/container_live/show.html.heex:27
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Packs:" msgid "Packs:"
@ -898,55 +867,36 @@ msgstr ""
msgid "Leave \"Uses left\" blank to make invite unlimited" msgid "Leave \"Uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:71 #: lib/cannery_web/components/ammo_group_card.ex:86
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Container:" msgid "Container:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.html.heex:48 #: lib/cannery_web/live/ammo_group_live/index.html.heex:48
#: lib/cannery_web/live/ammo_type_live/index.html.heex:23 #: lib/cannery_web/live/ammo_type_live/index.html.heex:23
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158 #: lib/cannery_web/live/ammo_type_live/show.html.heex:152
#: lib/cannery_web/live/container_live/show.html.heex:97
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Show used" msgid "Show used"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:110 #: lib/cannery_web/components/ammo_group_table_component.ex:61
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on" msgid "Used up on"
msgstr "" msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:55 #: lib/cannery_web/components/ammo_group_card.ex:63
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used up on:" msgid "Used up on:"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:206 #: lib/cannery_web/components/ammo_group_table_component.ex:195
#: lib/cannery_web/live/ammo_group_live/show.html.heex:19 #: lib/cannery_web/live/ammo_group_live/show.html.heex:19
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{percentage}%" msgid "%{percentage}%"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.ex:121 #: lib/cannery_web/live/range_live/index.ex:114
#, elixir-autogen, elixir-format
msgid "Name: %{name}"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:115
#, elixir-autogen, elixir-format
msgid "Notes: %{notes}"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:62
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds fired"
msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format
msgid "Rounds fired chart"
msgstr ""
#: lib/cannery_web/live/range_live/index.ex:125
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot: %{count}" msgid "Rounds shot: %{count}"
msgstr "" msgstr ""
@ -963,7 +913,9 @@ msgstr ""
msgid "Rounds" msgid "Rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:158
#: lib/cannery_web/live/container_live/index.html.heex:23 #: lib/cannery_web/live/container_live/index.html.heex:23
#: lib/cannery_web/live/container_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "View as table" msgid "View as table"
msgstr "" msgstr ""
@ -973,7 +925,7 @@ msgstr ""
msgid "Total ever packs" msgid "Total ever packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:121 #: lib/cannery_web/live/ammo_type_live/show.html.heex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Total ever packs:" msgid "Total ever packs:"
msgstr "" msgstr ""
@ -983,7 +935,7 @@ msgstr ""
msgid "Total ever rounds" msgid "Total ever rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:97 #: lib/cannery_web/live/ammo_type_live/show.html.heex:83
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Total ever rounds:" msgid "Total ever rounds:"
msgstr "" msgstr ""
@ -993,7 +945,7 @@ msgstr ""
msgid "Used packs" msgid "Used packs"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:113 #: lib/cannery_web/live/ammo_type_live/show.html.heex:103
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Used packs:" msgid "Used packs:"
msgstr "" msgstr ""
@ -1003,7 +955,7 @@ msgstr ""
msgid "Used rounds" msgid "Used rounds"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.html.heex:89 #: lib/cannery_web/live/ammo_type_live/show.html.heex:75
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used rounds:" msgid "Used rounds:"
msgstr "" msgstr ""
@ -1012,3 +964,140 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Used up!" msgid "Used up!"
msgstr "" msgstr ""
#: lib/cannery_web/live/range_live/index.html.heex:64
#, elixir-autogen, elixir-format, fuzzy
msgid "Rounds shot chart"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Blank:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:13
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet core:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:12
#, elixir-autogen, elixir-format, fuzzy
msgid "Bullet type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:15
#, elixir-autogen, elixir-format, fuzzy
msgid "Caliber:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:14
#, elixir-autogen, elixir-format, fuzzy
msgid "Cartridge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Case material:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:28
#, elixir-autogen, elixir-format, fuzzy
msgid "Corrosive:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:24
#, elixir-autogen, elixir-format, fuzzy
msgid "Firing type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:21
#, elixir-autogen, elixir-format, fuzzy
msgid "Grains:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:26
#, elixir-autogen, elixir-format, fuzzy
msgid "Incendiary:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:17
#, elixir-autogen, elixir-format, fuzzy
msgid "Jacket type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:29
#, elixir-autogen, elixir-format, fuzzy
msgid "Manufacturer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:18
#, elixir-autogen, elixir-format, fuzzy
msgid "Muzzle velocity:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:20
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder grains per charge:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:19
#, elixir-autogen, elixir-format, fuzzy
msgid "Powder type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:22
#, elixir-autogen, elixir-format, fuzzy
msgid "Pressure:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:23
#, elixir-autogen, elixir-format, fuzzy
msgid "Primer type:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:25
#, elixir-autogen, elixir-format, fuzzy
msgid "Tracer:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:30
#, elixir-autogen, elixir-format, fuzzy
msgid "UPC:"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:137
#: lib/cannery_web/live/ammo_type_live/show.html.heex:132
#, elixir-autogen, elixir-format
msgid "Average CPR"
msgstr ""
#: lib/cannery_web/live/ammo_type_live/show.ex:117
#, elixir-autogen, elixir-format, fuzzy
msgid "Edit %{ammo_type_name}"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:39
#: lib/cannery_web/components/ammo_group_table_component.ex:233
#, elixir-autogen, elixir-format
msgid "Empty"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:86
#, elixir-autogen, elixir-format
msgid "CPR"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:77
#, elixir-autogen, elixir-format
msgid "CPR:"
msgstr ""
#: lib/cannery_web/components/ammo_group_table_component.ex:84
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count"
msgstr ""
#: lib/cannery_web/components/ammo_group_card.ex:44
#, elixir-autogen, elixir-format, fuzzy
msgid "Original Count:"
msgstr ""

View File

@ -30,7 +30,7 @@ msgid "Container must be empty before deleting"
msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh" msgstr "Caithfidh an coimeádán a bheidh follamh roimh scriosadh"
#: lib/cannery_web/live/container_live/index.ex:88 #: lib/cannery_web/live/container_live/index.ex:88
#: lib/cannery_web/live/container_live/show.ex:71 #: lib/cannery_web/live/container_live/show.ex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not delete %{name}: %{error}" msgid "Could not delete %{name}: %{error}"
msgstr "Ní feidir %{name} a scriosadh: %{error}" msgstr "Ní feidir %{name} a scriosadh: %{error}"
@ -185,7 +185,7 @@ msgstr ""
msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}" msgid "Invalid number of copies, must be between 1 and %{max}. Was %{multiplier}"
msgstr "" msgstr ""
#: lib/cannery/ammo.ex:587 #: lib/cannery/ammo.ex:609
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Invalid multiplier" msgid "Invalid multiplier"
msgstr "" msgstr ""

View File

@ -30,7 +30,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -49,7 +49,7 @@ msgid "%{name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "" msgstr ""
@ -96,7 +96,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?" msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -183,7 +183,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "" msgstr ""
@ -204,7 +204,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""

View File

@ -19,7 +19,7 @@ msgid "%{name} created successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_type_live/index.ex:47 #: lib/cannery_web/live/ammo_type_live/index.ex:47
#: lib/cannery_web/live/ammo_type_live/show.ex:28 #: lib/cannery_web/live/ammo_type_live/show.ex:56
#: lib/cannery_web/live/invite_live/index.ex:53 #: lib/cannery_web/live/invite_live/index.ex: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
@ -38,7 +38,7 @@ msgid "%{name} enabled succesfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/index.ex:81 #: lib/cannery_web/live/container_live/index.ex:81
#: lib/cannery_web/live/container_live/show.ex:61 #: lib/cannery_web/live/container_live/show.ex:65
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{name} has been deleted" msgid "%{name} has been deleted"
msgstr "" msgstr ""
@ -85,7 +85,7 @@ msgstr ""
msgid "Are you sure you want to delete the invite for %{name}?" msgid "Are you sure you want to delete the invite for %{name}?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/index.ex:242 #: lib/cannery_web/live/ammo_group_live/index.html.heex:132
#: lib/cannery_web/live/ammo_group_live/show.html.heex:75 #: lib/cannery_web/live/ammo_group_live/show.html.heex:75
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this ammo?" msgid "Are you sure you want to delete this ammo?"
@ -172,7 +172,7 @@ msgstr ""
msgid "%{name} added successfully" msgid "%{name} added successfully"
msgstr "" msgstr ""
#: lib/cannery_web/live/container_live/show.ex:37 #: lib/cannery_web/live/container_live/show.ex:41
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{tag_name} has been removed from %{container_name}" msgid "%{tag_name} has been removed from %{container_name}"
msgstr "" msgstr ""
@ -193,7 +193,7 @@ msgid "Are you sure you want to unstage this ammo?"
msgstr "" msgstr ""
#: lib/cannery_web/live/ammo_group_live/show.ex:132 #: lib/cannery_web/live/ammo_group_live/show.ex:132
#: lib/cannery_web/live/range_live/index.ex:184 #: lib/cannery_web/live/range_live/index.ex:159
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Are you sure you want to delete this shot record?" msgid "Are you sure you want to delete this shot record?"
msgstr "" msgstr ""

View File

@ -232,7 +232,10 @@ defmodule Cannery.AmmoTest do
current_user = user_fixture() current_user = user_fixture()
ammo_type = ammo_type_fixture(current_user) ammo_type = ammo_type_fixture(current_user)
container = container_fixture(current_user) container = container_fixture(current_user)
{1, [ammo_group]} = ammo_group_fixture(%{"count" => 25}, ammo_type, container, current_user)
{1, [ammo_group]} =
%{"count" => 50, "price_paid" => 36.1}
|> ammo_group_fixture(ammo_type, container, current_user)
[ [
ammo_type: ammo_type, ammo_type: ammo_type,
@ -424,13 +427,13 @@ defmodule Cannery.AmmoTest do
|> Ammo.get_last_used_shot_group() |> Ammo.get_last_used_shot_group()
end end
test "get_percentage_remaining/1 gets accurate total round count for ammo type", test "get_percentage_remaining/1 gets accurate total round count",
%{ammo_group: ammo_group, current_user: current_user} do %{ammo_group: ammo_group, current_user: current_user} do
assert 100 = Ammo.get_percentage_remaining(ammo_group) assert 100 = Ammo.get_percentage_remaining(ammo_group)
shot_group_fixture(%{"count" => 14}, current_user, ammo_group) shot_group_fixture(%{"count" => 14}, current_user, ammo_group)
assert 44 = assert 72 =
ammo_group ammo_group
|> Repo.reload!() |> Repo.reload!()
|> Repo.preload(:shot_groups, force: true) |> Repo.preload(:shot_groups, force: true)
@ -438,11 +441,66 @@ defmodule Cannery.AmmoTest do
shot_group_fixture(%{"count" => 11}, current_user, ammo_group) shot_group_fixture(%{"count" => 11}, current_user, ammo_group)
assert 50 =
ammo_group
|> Repo.reload!()
|> Repo.preload(:shot_groups, force: true)
|> Ammo.get_percentage_remaining()
shot_group_fixture(%{"count" => 25}, current_user, ammo_group)
assert 0 = assert 0 =
ammo_group ammo_group
|> Repo.reload!() |> Repo.reload!()
|> Repo.preload(:shot_groups, force: true) |> Repo.preload(:shot_groups, force: true)
|> Ammo.get_percentage_remaining() |> Ammo.get_percentage_remaining()
end end
test "get_cpr/1 gets accurate cpr",
%{ammo_group: ammo_group, current_user: current_user} do
assert %AmmoGroup{price_paid: nil} |> Ammo.get_cpr() |> is_nil()
assert %AmmoGroup{count: 1, price_paid: nil} |> Ammo.get_cpr() |> is_nil()
assert 1.0 = %AmmoGroup{count: 1, price_paid: 1.0} |> Ammo.get_cpr()
assert 1.5 = %AmmoGroup{count: 2, price_paid: 3.0} |> Ammo.get_cpr()
assert 0.722 = %AmmoGroup{count: 50, price_paid: 36.1} |> Ammo.get_cpr()
# with shot group, maintains total
shot_group_fixture(%{"count" => 14}, current_user, ammo_group)
assert 0.722 =
ammo_group
|> Repo.reload!()
|> Repo.preload(:shot_groups, force: true)
|> Ammo.get_cpr()
end
test "get_original_count/1 gets accurate original count",
%{ammo_group: ammo_group, current_user: current_user} do
assert 50 = Ammo.get_original_count(ammo_group)
shot_group_fixture(%{"count" => 14}, current_user, ammo_group)
assert 50 =
ammo_group
|> Repo.reload!()
|> Repo.preload(:shot_groups, force: true)
|> Ammo.get_original_count()
shot_group_fixture(%{"count" => 11}, current_user, ammo_group)
assert 50 =
ammo_group
|> Repo.reload!()
|> Repo.preload(:shot_groups, force: true)
|> Ammo.get_original_count()
shot_group_fixture(%{"count" => 25}, current_user, ammo_group)
assert 50 =
ammo_group
|> Repo.reload!()
|> Repo.preload(:shot_groups, force: true)
|> Ammo.get_original_count()
end
end end
end end

View File

@ -58,6 +58,8 @@ defmodule CanneryWeb.ExportControllerTest do
"price_paid" => ammo_group.price_paid, "price_paid" => ammo_group.price_paid,
"staged" => ammo_group.staged, "staged" => ammo_group.staged,
"used_count" => ammo_group |> Ammo.get_used_count(), "used_count" => ammo_group |> Ammo.get_used_count(),
"original_count" => ammo_group |> Ammo.get_original_count(),
"cpr" => ammo_group |> Ammo.get_cpr(),
"percentage_remaining" => ammo_group |> Ammo.get_percentage_remaining() "percentage_remaining" => ammo_group |> Ammo.get_percentage_remaining()
} }

View File

@ -184,9 +184,9 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Index with ammo group" do describe "Index with ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group] setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group]
test "shows additional ammo type info on toggle", test "shows used ammo groups on toggle",
%{conn: conn, ammo_group: ammo_group, current_user: current_user} do %{conn: conn, ammo_group: ammo_group, current_user: current_user} do
{:ok, show_live, html} = live(conn, Routes.ammo_type_index_path(conn, :index)) {:ok, index_live, html} = live(conn, Routes.ammo_type_index_path(conn, :index))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
refute html =~ gettext("Used rounds") refute html =~ gettext("Used rounds")
@ -194,7 +194,7 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
refute html =~ gettext("Used packs") refute html =~ gettext("Used packs")
refute html =~ gettext("Total ever packs") refute html =~ gettext("Total ever packs")
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ gettext("Used rounds") assert html =~ gettext("Used rounds")
assert html =~ gettext("Total ever rounds") assert html =~ gettext("Total ever rounds")
@ -207,8 +207,8 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
shot_group_fixture(%{"count" => 5}, current_user, ammo_group) shot_group_fixture(%{"count" => 5}, current_user, ammo_group)
{:ok, show_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index)) {:ok, index_live, _html} = live(conn, Routes.ammo_type_index_path(conn, :index))
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() html = index_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ "15" assert html =~ "15"
assert html =~ "5" assert html =~ "5"
@ -218,19 +218,22 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Show ammo type" do describe "Show ammo type" do
setup [:register_and_log_in_user, :create_ammo_type] setup [:register_and_log_in_user, :create_ammo_type]
test "displays ammo_type", %{conn: conn, ammo_type: ammo_type} do test "displays ammo_type", %{
conn: conn,
ammo_type: %{name: name, bullet_type: bullet_type} = ammo_type
} do
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert html =~ gettext("Show Ammo type") assert html =~ name
assert html =~ ammo_type.bullet_type assert html =~ bullet_type
end end
test "updates ammo_type within modal", test "updates ammo_type within modal",
%{conn: conn, current_user: current_user, ammo_type: ammo_type} do %{conn: conn, current_user: current_user, ammo_type: %{name: name} = ammo_type} do
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~ assert show_live |> element("[data-qa=\"edit\"]") |> render_click() =~
gettext("Edit Ammo type") gettext("Edit %{ammo_type_name}", ammo_type_name: name)
assert_patch(show_live, Routes.ammo_type_show_path(conn, :edit, ammo_type)) assert_patch(show_live, Routes.ammo_type_show_path(conn, :edit, ammo_type))
@ -253,20 +256,35 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
describe "Show ammo type with ammo group" do describe "Show ammo type with ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group] setup [:register_and_log_in_user, :create_ammo_type, :create_ammo_group]
test "displays ammo group", %{conn: conn, ammo_type: ammo_type, container: container} do test "displays ammo group", %{
conn: conn,
ammo_type: %{name: ammo_type_name} = ammo_type,
container: %{name: container_name}
} do
{:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, _show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert html =~ gettext("Show Ammo type") assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "some ammo group"
assert html =~ container.name assert html =~ container_name
end
test "displays ammo group in table",
%{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
assert html =~ "some ammo group"
assert html =~ container_name
end end
end end
describe "Show ammo type with empty ammo group" do describe "Show ammo type with empty ammo group" do
setup [:register_and_log_in_user, :create_ammo_type, :create_empty_ammo_group] setup [:register_and_log_in_user, :create_ammo_type, :create_empty_ammo_group]
test "hides empty ammo groups by default", test "displays empty ammo groups on toggle",
%{conn: conn, ammo_type: ammo_type} do %{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do
{:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type)) {:ok, show_live, html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
@ -276,6 +294,24 @@ defmodule CanneryWeb.AmmoTypeLiveTest do
assert html =~ "some ammo group" assert html =~ "some ammo group"
assert html =~ "Empty" assert html =~ "Empty"
assert html =~ container_name
end
test "displays empty ammo groups in table on toggle",
%{conn: conn, ammo_type: ammo_type, container: %{name: container_name}} do
{:ok, show_live, _html} = live(conn, Routes.ammo_type_show_path(conn, :show, ammo_type))
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
assert_patch(show_live, Routes.ammo_type_show_path(conn, :table, ammo_type))
assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group"
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ "some ammo group"
assert html =~ "Empty"
assert html =~ container_name
end end
end end
end end

View File

@ -46,13 +46,20 @@ defmodule CanneryWeb.ContainerLiveTest do
%{container: container} %{container: container}
end end
defp create_ammo_group(%{container: container, current_user: current_user}) do
ammo_type = ammo_type_fixture(@ammo_type_attrs, current_user)
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
%{ammo_type: ammo_type, ammo_group: ammo_group}
end
defp create_empty_ammo_group(%{container: container, current_user: current_user}) do defp create_empty_ammo_group(%{container: container, current_user: current_user}) do
ammo_type = ammo_type_fixture(@ammo_type_attrs, current_user) ammo_type = ammo_type_fixture(@ammo_type_attrs, current_user)
{1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user) {1, [ammo_group]} = ammo_group_fixture(@ammo_group_attrs, ammo_type, container, current_user)
shot_group = shot_group_fixture(@shot_group_attrs, current_user, ammo_group) shot_group = shot_group_fixture(@shot_group_attrs, current_user, ammo_group)
ammo_group = ammo_group |> Repo.reload!() ammo_group = ammo_group |> Repo.reload!()
%{ammo_group: ammo_group, shot_group: shot_group} %{ammo_type: ammo_type, ammo_group: ammo_group, shot_group: shot_group}
end end
describe "Index regular" do describe "Index regular" do
@ -306,11 +313,14 @@ defmodule CanneryWeb.ContainerLiveTest do
describe "Show" do describe "Show" do
setup [:register_and_log_in_user, :create_container] setup [:register_and_log_in_user, :create_container]
test "displays container", %{conn: conn, container: container} do test "displays container", %{
conn: conn,
container: %{name: name, location: location} = container
} do
{:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container)) {:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
assert html =~ gettext("Show %{name}", name: container.name) assert html =~ name
assert html =~ container.location assert html =~ location
end end
test "updates container within modal", %{ test "updates container within modal", %{
@ -341,11 +351,34 @@ defmodule CanneryWeb.ContainerLiveTest do
end end
end end
describe "Show with ammo group" do
setup [:register_and_log_in_user, :create_container, :create_ammo_group]
test "displays ammo group",
%{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
{:ok, _show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
assert html =~ ammo_type_name
assert html =~ "some ammo group"
end
test "displays ammo group in table",
%{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
assert_patch(show_live, Routes.container_show_path(conn, :table, container))
assert html =~ ammo_type_name
assert html =~ "some ammo group"
end
end
describe "Show with empty ammo group" do describe "Show with empty ammo group" do
setup [:register_and_log_in_user, :create_container, :create_empty_ammo_group] setup [:register_and_log_in_user, :create_container, :create_empty_ammo_group]
test "hides empty ammo groups by default", test "hides empty ammo groups by default",
%{conn: conn, container: container} do %{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
{:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container)) {:ok, show_live, html} = live(conn, Routes.container_show_path(conn, :show, container))
assert html =~ dgettext("actions", "Show used") assert html =~ dgettext("actions", "Show used")
@ -353,6 +386,24 @@ defmodule CanneryWeb.ContainerLiveTest do
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click() html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ ammo_type_name
assert html =~ "some ammo group"
assert html =~ "Empty"
end
test "displays empty ammo groups in table on toggle",
%{conn: conn, ammo_type: %{name: ammo_type_name}, container: container} do
{:ok, show_live, _html} = live(conn, Routes.container_show_path(conn, :show, container))
html = show_live |> element("[data-qa=\"toggle_table\"]") |> render_click()
assert_patch(show_live, Routes.container_show_path(conn, :table, container))
assert html =~ dgettext("actions", "Show used")
refute html =~ "some ammo group"
html = show_live |> element("[data-qa=\"toggle_show_used\"]") |> render_click()
assert html =~ ammo_type_name
assert html =~ "some ammo group" assert html =~ "some ammo group"
assert html =~ "Empty" assert html =~ "Empty"
end end