Membership Fee 6 - UI Components & LiveViews closes #280 #304
1 changed files with 22 additions and 3 deletions
|
|
@ -49,14 +49,24 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
|||
|
||||
|
moritz marked this conversation as resolved
|
||||
<div class="form-control">
|
||||
<label class="label">
|
||||
<span class="label-text font-semibold">{gettext("Interval")}</span>
|
||||
<span class="label-text font-semibold">
|
||||
{gettext("Interval")}
|
||||
<span
|
||||
:if={is_nil(@membership_fee_type)}
|
||||
class="text-red-700 tooltip tooltip-right"
|
||||
data-tip={gettext("This field cannot be empty")}
|
||||
>*</span>
|
||||
</span>
|
||||
</label>
|
||||
<select
|
||||
class="select select-bordered w-full"
|
||||
class={[
|
||||
"select select-bordered w-full",
|
||||
@form.errors[:interval] && "select-error"
|
||||
]}
|
||||
disabled={!is_nil(@membership_fee_type)}
|
||||
name="membership_fee_type[interval]"
|
||||
id="membership-fee-type-form_interval"
|
||||
phx-change="validate"
|
||||
required={is_nil(@membership_fee_type)}
|
||||
>
|
||||
<option value="">{gettext("Select interval")}</option>
|
||||
<option
|
||||
|
|
@ -86,6 +96,15 @@ defmodule MvWeb.MembershipFeeTypeLive.Form do
|
|||
{gettext("Yearly")}
|
||||
</option>
|
||||
</select>
|
||||
<%= if @form.errors[:interval] do %>
|
||||
<%= for error <- List.wrap(@form.errors[:interval]) do %>
|
||||
<% {msg, _opts} = if is_tuple(error), do: error, else: {error, []} %>
|
||||
<p class="mt-1.5 flex gap-2 items-center text-sm text-error">
|
||||
<.icon name="hero-exclamation-circle" class="size-5" />
|
||||
{msg}
|
||||
</p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= if !is_nil(@membership_fee_type) do %>
|
||||
<label class="label">
|
||||
<span class="label-text-alt text-base-content/60">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue
Interval is neccessary to create a fee type, but it is not marked as required. So when I leave it out there is no error message but my fee type is not created.