add date range to range page
This commit is contained in:
@ -141,6 +141,18 @@ defmodule CanneryWeb.CoreComponents do
|
||||
"""
|
||||
def datetime(assigns)
|
||||
|
||||
attr :name, :string, required: true
|
||||
|
||||
attr :start_date, :string,
|
||||
default: Date.utc_today() |> Date.shift(year: -1) |> Date.to_iso8601()
|
||||
|
||||
attr :end_date, :string, default: Date.utc_today() |> Date.to_iso8601()
|
||||
|
||||
@doc """
|
||||
Phoenix.Component for an element that generates date fields for a range
|
||||
"""
|
||||
def date_range(assigns)
|
||||
|
||||
@spec cast_datetime(NaiveDateTime.t() | nil) :: String.t()
|
||||
defp cast_datetime(%NaiveDateTime{} = datetime) do
|
||||
datetime |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_iso8601(:extended)
|
||||
|
@ -0,0 +1,15 @@
|
||||
<div class="flex items-center mx-4 my-2 space-x-1">
|
||||
<input
|
||||
class="w-36 text-center input input-primary"
|
||||
name={"#{@name}_start"}
|
||||
type="date"
|
||||
value={@start_date}
|
||||
/>
|
||||
<span>—</span>
|
||||
<input
|
||||
class="w-36 text-center input input-primary"
|
||||
name={"#{@name}_end"}
|
||||
type="date"
|
||||
value={@end_date}
|
||||
/>
|
||||
</div>
|
Reference in New Issue
Block a user