display cpr for ammo packs and add original count for ammo packs
This commit is contained in:
@ -17,6 +17,7 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
|
||||
|
||||
preloads = if show_container, do: [:ammo_type, :container], else: [:ammo_type]
|
||||
ammo_group = ammo_group |> Repo.preload(preloads)
|
||||
|
||||
assigns = assigns |> assign(:ammo_group, ammo_group)
|
||||
|
||||
~H"""
|
||||
@ -38,6 +39,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
|
||||
<%= if @ammo_group.count == 0, do: gettext("Empty"), else: @ammo_group.count %>
|
||||
</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 %>
|
||||
<span class="rounded-lg title text-lg">
|
||||
<%= gettext("Notes:") %>
|
||||
@ -64,6 +72,13 @@ defmodule CanneryWeb.Components.AmmoGroupCard do
|
||||
amount: @ammo_group.price_paid |> :erlang.float_to_binary(decimals: 2)
|
||||
) %>
|
||||
</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 %>
|
||||
|
||||
<%= if @show_container and @ammo_group.container do %>
|
||||
|
@ -82,11 +82,19 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
columns = [
|
||||
%{label: gettext("Count"), key: :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 show_used do
|
||||
[%{label: gettext("Original Count"), key: :original_count} | columns]
|
||||
else
|
||||
columns
|
||||
end
|
||||
|
||||
columns =
|
||||
if ammo_type == [] do
|
||||
columns
|
||||
@ -215,6 +223,18 @@ defmodule CanneryWeb.Components.AmmoGroupTableComponent do
|
||||
"""}
|
||||
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)
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
<%= gettext("Original count:") %>
|
||||
<%= @ammo_group.count + Ammo.get_used_count(@ammo_group) %>
|
||||
<%= Ammo.get_original_count(@ammo_group) %>
|
||||
</span>
|
||||
|
||||
<span class="rounded-lg title text-lg">
|
||||
|
Reference in New Issue
Block a user