fix: improve amount validation, layout, and remove duplicate button

- Add oninput validation for amount field to catch invalid input immediately
- Fix Current Cycle layout with whitespace-nowrap and wider width
- Remove duplicate Regenerate Missing Cycles button (same functionality)
- Add tooltip to Regenerate Cycles button explaining functionality
This commit is contained in:
Moritz 2025-12-16 12:44:15 +01:00
parent 461b8d9c2a
commit 03aacefb6e
Signed by: moritz
GPG key ID: 1020A035E5DD0824
3 changed files with 5 additions and 14 deletions

View file

@ -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>
<.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")}
</.button>
</div>
<%!-- 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)