diff --git a/lib/daimon_date_picker_web/live/home_live.ex b/lib/daimon_date_picker_web/live/home_live.ex index b4bb37d..203c980 100644 --- a/lib/daimon_date_picker_web/live/home_live.ex +++ b/lib/daimon_date_picker_web/live/home_live.ex @@ -35,6 +35,23 @@ defmodule DaimonDatePickerWeb.HomeLive do {:noreply, socket} end + def handle_event("select_date", %{"day" => day} = _params, socket) do + eom = Date.end_of_month(socket.assigns.current_month) + + selected_date = + case Integer.parse(day) do + {d, ""} when d in 1..eom.day -> %{socket.assigns.current_month | day: d} + _ -> socket.assigns.current_month + end + + socket = + socket + |> assign(:selected_date, selected_date) + |> assign(:activated, false) + + {:noreply, socket} + end + defp date_picker(assigns) do ~H"""
@@ -51,6 +68,8 @@ defmodule DaimonDatePickerWeb.HomeLive do