diff --git a/assets/css/app.css b/assets/css/app.css index 92da708..b3d3e4d 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -4,6 +4,11 @@ @import 'tailwindcss'; @import './theme.css' layer(theme); +@plugin "daisyui" { + themes: light --default; + include: toggle; +} + @layer base { *, ::after, diff --git a/lib/claper/forms/field.ex b/lib/claper/forms/field.ex index d0b3214..0269e40 100644 --- a/lib/claper/forms/field.ex +++ b/lib/claper/forms/field.ex @@ -4,19 +4,21 @@ defmodule Claper.Forms.Field do @type t :: %__MODULE__{ name: String.t(), - type: String.t() + type: String.t(), + required: boolean() } @primary_key false embedded_schema do field :name, :string field :type, :string + field :required, :boolean, default: true end @doc false def changeset(form, attrs \\ %{}) do form - |> cast(attrs, [:name, :type]) + |> cast(attrs, [:name, :type, :required]) |> validate_required([:name, :type]) end end diff --git a/lib/claper/forms/form_submit.ex b/lib/claper/forms/form_submit.ex index a867fa5..f0c490f 100644 --- a/lib/claper/forms/form_submit.ex +++ b/lib/claper/forms/form_submit.ex @@ -25,6 +25,6 @@ defmodule Claper.Forms.FormSubmit do def changeset(form_submit, attrs) do form_submit |> cast(attrs, [:attendee_identifier, :user_id, :form_id, :response]) - |> validate_required([:form_id]) + |> validate_required([:form_id, :user_id, :response]) end end diff --git a/lib/claper_web/live/event_live/form_component.ex b/lib/claper_web/live/event_live/form_component.ex index 3ed7222..2862ad5 100644 --- a/lib/claper_web/live/event_live/form_component.ex +++ b/lib/claper_web/live/event_live/form_component.ex @@ -63,7 +63,7 @@ defmodule ClaperWeb.EventLive.FormComponent do fieldClass="bg-gray-700 text-white" key={String.to_atom(field.name)} name={field.name} - required="true" + required={field.required} value={ if is_nil(assigns.current_form_submit), do: ~c"", @@ -77,7 +77,7 @@ defmodule ClaperWeb.EventLive.FormComponent do fieldClass="bg-gray-700 text-white" key={String.to_atom(field.name)} name={field.name} - required="true" + required={field.required} value={ if is_nil(assigns.current_form_submit), do: ~c"", diff --git a/lib/claper_web/live/form_live/form_component.html.heex b/lib/claper_web/live/form_live/form_component.html.heex index cd941fd..34c7d8b 100644 --- a/lib/claper_web/live/form_live/form_component.html.heex +++ b/lib/claper_web/live/form_live/form_component.html.heex @@ -34,6 +34,7 @@ name={gettext("Type")} required="true" /> + <%= if i.index >= 1 do %>