defmodule AmmopricesWeb.PriceComponents do
@moduledoc false
use Phoenix.Component
attr :cents, :integer, required: true
attr :class, :string, default: nil
def price_per_round(assigns) do
~H"""
{format_cpr(@cents)}
"""
end
attr :in_stock, :boolean, required: true
attr :class, :string, default: nil
def stock_badge(assigns) do
~H"""
{if @in_stock, do: "In Stock", else: "Out of Stock"}
"""
end
attr :url, :string, required: true
attr :name, :string, required: true
attr :class, :string, default: nil
def retailer_link(assigns) do
~H"""
{@name}
"""
end
defp format_cpr(nil), do: "--"
defp format_cpr(cents) do
dollars = cents / 100
"$#{:erlang.float_to_binary(dollars, decimals: 2)}"
end
end