diff --git a/lib/mv_web/live/member_live/show.ex b/lib/mv_web/live/member_live/show.ex index aa3fd38..e29e00a 100644 --- a/lib/mv_web/live/member_live/show.ex +++ b/lib/mv_web/live/member_live/show.ex @@ -184,7 +184,7 @@ defmodule MvWeb.MemberLive.Show do value={MembershipFeeHelpers.format_interval(@member.membership_fee_type.interval)} class="w-28" /> - <.data_field label={gettext("Last Cycle")} class="w-28"> + <.data_field label={gettext("Last Cycle")} class="w-28 whitespace-nowrap"> <%= if @member.last_cycle_status do %> <% status = @member.last_cycle_status %> @@ -194,7 +194,7 @@ defmodule MvWeb.MemberLive.Show do {gettext("No cycles")} <% end %> - <.data_field label={gettext("Current Cycle")} class="w-28"> + <.data_field label={gettext("Current Cycle")} class="w-32 whitespace-nowrap"> <%= if @member.current_cycle_status do %> <% status = @member.current_cycle_status %> diff --git a/lib/mv_web/live/member_live/show/membership_fees_component.ex b/lib/mv_web/live/member_live/show/membership_fees_component.ex index 46b90e5..2a33e22 100644 --- a/lib/mv_web/live/member_live/show/membership_fees_component.ex +++ b/lib/mv_web/live/member_live/show/membership_fees_component.ex @@ -49,18 +49,11 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do phx-click="regenerate_cycles" phx-target={@myself} class={["btn btn-sm btn-outline", if(@regenerating, do: "btn-disabled", else: "")]} + title={gettext("Generate cycles from the last existing cycle to today")} > <.icon name="hero-arrow-path" class="size-4" /> {if(@regenerating, do: gettext("Regenerating..."), else: gettext("Regenerate Cycles"))} - <.button - phx-click="regenerate_missing_cycles" - phx-target={@myself} - class={["btn btn-sm btn-outline", if(@regenerating, do: "btn-disabled", else: "")]} - > - <.icon name="hero-plus-circle" class="size-4" /> - {gettext("Regenerate Missing Cycles")} - <%!-- Cycles Table --%> @@ -431,10 +424,6 @@ defmodule MvWeb.MemberLive.Show.MembershipFeesComponent do end end - def handle_event("regenerate_missing_cycles", _params, socket) do - # Same as regenerate_cycles - CycleGenerator already handles missing cycles only - handle_event("regenerate_cycles", %{}, socket) - end def handle_event("edit_cycle_amount", %{"cycle_id" => cycle_id}, socket) do cycle = find_cycle(socket.assigns.cycles, cycle_id) diff --git a/lib/mv_web/live/membership_fee_type_live/form.ex b/lib/mv_web/live/membership_fee_type_live/form.ex index b0f97c9..7cea0f9 100644 --- a/lib/mv_web/live/membership_fee_type_live/form.ex +++ b/lib/mv_web/live/membership_fee_type_live/form.ex @@ -47,6 +47,8 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do step="0.01" min="0" pattern="[0-9]+(\.[0-9]{1,2})?" + phx-debounce="blur" + oninput="this.setCustomValidity(''); if (!this.validity.valid) { this.setCustomValidity('Please enter a valid number'); }" required />