diff --git a/lib/cannery_web/live/ammo_group_live/form_component.ex b/lib/cannery_web/live/ammo_group_live/form_component.ex index ce8e3a2..409226b 100644 --- a/lib/cannery_web/live/ammo_group_live/form_component.ex +++ b/lib/cannery_web/live/ammo_group_live/form_component.ex @@ -44,70 +44,6 @@ defmodule CanneryWeb.AmmoGroupLive.FormComponent do save_ammo_group(socket, action, ammo_group_params) end - @impl true - def render(assigns) do - ~H""" -
-

- <%= @title %> -

- <.form - let={f} - for={@changeset} - id="ammo_group-form" - phx-target={@myself} - phx-change="validate" - phx-submit="save" - class="grid grid-cols-3 justify-center items-center space-y-4" - > - <%= if @changeset.action do %> -
- <%= changeset_errors(@changeset) %> -
- <% end %> - - <%= label(f, :ammo_type_id, gettext("Ammo type"), class: "mr-4 title text-lg text-primary-500") %> - <%= select(f, :ammo_type_id, ammo_type_options(@ammo_types), - class: "text-center col-span-2 input input-primary" - ) %> - <%= error_tag(f, :ammo_type_id, "col-span-3 text-center") %> - - <%= label(f, :count, gettext("Count"), class: "mr-4 title text-lg text-primary-500") %> - <%= number_input(f, :count, - class: "text-center col-span-2 input input-primary", - min: 1 - ) %> - <%= error_tag(f, :count, "col-span-3 text-center") %> - - <%= label(f, :price_paid, gettext("Price paid"), class: "mr-4 title text-lg text-primary-500") %> - <%= number_input(f, :price_paid, - step: "0.01", - class: "text-center col-span-2 input input-primary" - ) %> - <%= error_tag(f, :price_paid, "col-span-3 text-center") %> - - <%= label(f, :notes, gettext("Notes"), class: "mr-4 title text-lg text-primary-500") %> - <%= textarea(f, :notes, - class: "text-center col-span-2 input input-primary", - phx_hook: "MaintainAttrs" - ) %> - <%= error_tag(f, :notes, "col-span-3 text-center") %> - - <%= label(f, :container, gettext("Container"), class: "mr-4 title text-lg text-primary-500") %> - <%= select(f, :container_id, container_options(@containers), - class: "text-center col-span-2 input input-primary" - ) %> - <%= error_tag(f, :container_id, "col-span-3 text-center") %> - - <%= submit(dgettext("actions", "Save"), - phx_disable_with: dgettext("prompts", "Saving..."), - class: "mx-auto col-span-3 btn btn-primary" - ) %> - -
- """ - end - # HTML Helpers @spec container_options([Container.t()]) :: [{String.t(), Container.id()}] defp container_options(containers) do diff --git a/lib/cannery_web/live/ammo_group_live/form_component.html.heex b/lib/cannery_web/live/ammo_group_live/form_component.html.heex new file mode 100644 index 0000000..bd47fed --- /dev/null +++ b/lib/cannery_web/live/ammo_group_live/form_component.html.heex @@ -0,0 +1,59 @@ +
+

+ <%= @title %> +

+ + <.form + let={f} + for={@changeset} + id="ammo_group-form" + phx-target={@myself} + phx-change="validate" + phx-submit="save" + class="grid grid-cols-3 justify-center items-center space-y-4" + > + <%= if @changeset.action do %> +
+ <%= changeset_errors(@changeset) %> +
+ <% end %> + + <%= label(f, :ammo_type_id, gettext("Ammo type"), class: "mr-4 title text-lg text-primary-500") %> + <%= select(f, :ammo_type_id, ammo_type_options(@ammo_types), + class: "text-center col-span-2 input input-primary" + ) %> + <%= error_tag(f, :ammo_type_id, "col-span-3 text-center") %> + + <%= label(f, :count, gettext("Count"), class: "mr-4 title text-lg text-primary-500") %> + <%= number_input(f, :count, + class: "text-center col-span-2 input input-primary", + min: 1 + ) %> + <%= error_tag(f, :count, "col-span-3 text-center") %> + + <%= label(f, :price_paid, gettext("Price paid"), class: "mr-4 title text-lg text-primary-500") %> + <%= number_input(f, :price_paid, + step: "0.01", + class: "text-center col-span-2 input input-primary" + ) %> + <%= error_tag(f, :price_paid, "col-span-3 text-center") %> + + <%= label(f, :notes, gettext("Notes"), class: "mr-4 title text-lg text-primary-500") %> + <%= textarea(f, :notes, + class: "text-center col-span-2 input input-primary", + phx_hook: "MaintainAttrs" + ) %> + <%= error_tag(f, :notes, "col-span-3 text-center") %> + + <%= label(f, :container, gettext("Container"), class: "mr-4 title text-lg text-primary-500") %> + <%= select(f, :container_id, container_options(@containers), + class: "text-center col-span-2 input input-primary" + ) %> + <%= error_tag(f, :container_id, "col-span-3 text-center") %> + + <%= submit(dgettext("actions", "Save"), + phx_disable_with: dgettext("prompts", "Saving..."), + class: "mx-auto col-span-3 btn btn-primary" + ) %> + +
diff --git a/lib/cannery_web/live/ammo_type_live/form_component.ex b/lib/cannery_web/live/ammo_type_live/form_component.ex index 147f290..ac5e910 100644 --- a/lib/cannery_web/live/ammo_type_live/form_component.ex +++ b/lib/cannery_web/live/ammo_type_live/form_component.ex @@ -34,139 +34,6 @@ defmodule CanneryWeb.AmmoTypeLive.FormComponent do save_ammo_type(socket, action, ammo_type_params) end - @impl true - def render(assigns) do - ~H""" -
-

- <%= @title %> -

- <.form - let={f} - for={@changeset} - id="ammo_type-form" - phx-target={@myself} - phx-change="validate" - phx-submit="save" - class="grid grid-cols-3 justify-center items-center space-y-4" - > - <%= if @changeset.action do %> -
- <%= changeset_errors(@changeset) %> -
- <% end %> - - <%= label(f, :name, gettext("Name"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :name, class: "text-center col-span-2 input input-primary") %> - <%= error_tag(f, :name, "col-span-3 text-center") %> - - <%= label(f, :desc, gettext("Description"), class: "mr-4 title text-lg text-primary-500") %> - <%= textarea(f, :desc, - class: "text-center col-span-2 input input-primary", - phx_hook: "MaintainAttrs" - ) %> - <%= error_tag(f, :desc, "col-span-3 text-center") %> - - - <%= gettext("Example bullet type abbreviations") %> - - <%= label(f, :bullet_type, gettext("Bullet type"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :bullet_type, - class: "text-center col-span-2 input input-primary", - placeholder: gettext("FMJ") - ) %> - <%= error_tag(f, :bullet_type, "col-span-3 text-center") %> - - <%= label(f, :bullet_core, gettext("Bullet core"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :bullet_core, - class: "text-center col-span-2 input input-primary", - placeholder: gettext("Steel") - ) %> - <%= error_tag(f, :bullet_core, "col-span-3 text-center") %> - - <%= label(f, :cartridge, gettext("Cartridge"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :cartridge, - class: "text-center col-span-2 input input-primary", - placeholder: "5.56x46mm NATO" - ) %> - <%= error_tag(f, :cartridge, "col-span-3 text-center") %> - - <%= label(f, :caliber, gettext("Caliber"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :caliber, - class: "text-center col-span-2 input input-primary", - placeholder: ".223" - ) %> - <%= error_tag(f, :caliber, "col-span-3 text-center") %> - - <%= label(f, :case_material, gettext("Case material"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :case_material, - class: "text-center col-span-2 input input-primary", - placeholder: gettext("Brass") - ) %> - <%= error_tag(f, :case_material, "col-span-3 text-center") %> - - <%= label(f, :grains, gettext("Grains"), class: "mr-4 title text-lg text-primary-500") %> - <%= number_input(f, :grains, - step: "1", - class: "text-center col-span-2 input input-primary", - min: 1 - ) %> - <%= error_tag(f, :grains, "col-span-3 text-center") %> - - <%= label(f, :pressure, gettext("Pressure"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :pressure, - class: "text-center col-span-2 input input-primary", - placeholder: "+P" - ) %> - <%= error_tag(f, :pressure, "col-span-3 text-center") %> - - <%= label(f, :primer_type, gettext("Primer type"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :primer_type, - class: "text-center col-span-2 input input-primary", - placeholder: "Boxer" - ) %> - <%= error_tag(f, :primer_type, "col-span-3 text-center") %> - - <%= label(f, :rimfire, gettext("Rimfire"), class: "mr-4 title text-lg text-primary-500") %> - <%= checkbox(f, :rimfire, class: "text-center col-span-2 checkbox") %> - <%= error_tag(f, :rimfire, "col-span-3 text-center") %> - - <%= label(f, :tracer, gettext("Tracer"), class: "mr-4 title text-lg text-primary-500") %> - <%= checkbox(f, :tracer, class: "text-center col-span-2 checkbox") %> - <%= error_tag(f, :tracer, "col-span-3 text-center") %> - - <%= label(f, :incendiary, gettext("Incendiary"), class: "mr-4 title text-lg text-primary-500") %> - <%= checkbox(f, :incendiary, class: "text-center col-span-2 checkbox") %> - <%= error_tag(f, :incendiary, "col-span-3 text-center") %> - - <%= label(f, :blank, gettext("Blank"), class: "mr-4 title text-lg text-primary-500") %> - <%= checkbox(f, :blank, class: "text-center col-span-2 checkbox") %> - <%= error_tag(f, :blank, "col-span-3 text-center") %> - - <%= label(f, :corrosive, gettext("Corrosive"), class: "mr-4 title text-lg text-primary-500") %> - <%= checkbox(f, :corrosive, class: "text-center col-span-2 checkbox") %> - <%= error_tag(f, :corrosive, "col-span-3 text-center") %> - - <%= label(f, :manufacturer, gettext("Manufacturer"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :manufacturer, class: "text-center col-span-2 input input-primary") %> - <%= error_tag(f, :manufacturer, "col-span-3 text-center") %> - - <%= label(f, :sku, gettext("SKU"), class: "mr-4 title text-lg text-primary-500") %> - <%= text_input(f, :sku, class: "text-center col-span-2 input input-primary") %> - <%= error_tag(f, :sku, "col-span-3 text-center") %> - - <%= submit(dgettext("actions", "Save"), - phx_disable_with: dgettext("prompts", "Saving..."), - class: "mx-auto col-span-3 btn btn-primary" - ) %> - -
- """ - end - defp save_ammo_type( %{assigns: %{ammo_type: ammo_type, current_user: current_user, return_to: return_to}} = socket, diff --git a/lib/cannery_web/live/ammo_type_live/form_component.html.heex b/lib/cannery_web/live/ammo_type_live/form_component.html.heex new file mode 100644 index 0000000..1f0f96c --- /dev/null +++ b/lib/cannery_web/live/ammo_type_live/form_component.html.heex @@ -0,0 +1,127 @@ +
+

+ <%= @title %> +

+ <.form + let={f} + for={@changeset} + id="ammo_type-form" + phx-target={@myself} + phx-change="validate" + phx-submit="save" + class="grid grid-cols-3 justify-center items-center space-y-4" + > + <%= if @changeset.action do %> +
+ <%= changeset_errors(@changeset) %> +
+ <% end %> + + <%= label(f, :name, gettext("Name"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :name, class: "text-center col-span-2 input input-primary") %> + <%= error_tag(f, :name, "col-span-3 text-center") %> + + <%= label(f, :desc, gettext("Description"), class: "mr-4 title text-lg text-primary-500") %> + <%= textarea(f, :desc, + class: "text-center col-span-2 input input-primary", + phx_hook: "MaintainAttrs" + ) %> + <%= error_tag(f, :desc, "col-span-3 text-center") %> + + + <%= gettext("Example bullet type abbreviations") %> + + <%= label(f, :bullet_type, gettext("Bullet type"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :bullet_type, + class: "text-center col-span-2 input input-primary", + placeholder: gettext("FMJ") + ) %> + <%= error_tag(f, :bullet_type, "col-span-3 text-center") %> + + <%= label(f, :bullet_core, gettext("Bullet core"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :bullet_core, + class: "text-center col-span-2 input input-primary", + placeholder: gettext("Steel") + ) %> + <%= error_tag(f, :bullet_core, "col-span-3 text-center") %> + + <%= label(f, :cartridge, gettext("Cartridge"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :cartridge, + class: "text-center col-span-2 input input-primary", + placeholder: "5.56x46mm NATO" + ) %> + <%= error_tag(f, :cartridge, "col-span-3 text-center") %> + + <%= label(f, :caliber, gettext("Caliber"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :caliber, + class: "text-center col-span-2 input input-primary", + placeholder: ".223" + ) %> + <%= error_tag(f, :caliber, "col-span-3 text-center") %> + + <%= label(f, :case_material, gettext("Case material"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :case_material, + class: "text-center col-span-2 input input-primary", + placeholder: gettext("Brass") + ) %> + <%= error_tag(f, :case_material, "col-span-3 text-center") %> + + <%= label(f, :grains, gettext("Grains"), class: "mr-4 title text-lg text-primary-500") %> + <%= number_input(f, :grains, + step: "1", + class: "text-center col-span-2 input input-primary", + min: 1 + ) %> + <%= error_tag(f, :grains, "col-span-3 text-center") %> + + <%= label(f, :pressure, gettext("Pressure"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :pressure, + class: "text-center col-span-2 input input-primary", + placeholder: "+P" + ) %> + <%= error_tag(f, :pressure, "col-span-3 text-center") %> + + <%= label(f, :primer_type, gettext("Primer type"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :primer_type, + class: "text-center col-span-2 input input-primary", + placeholder: "Boxer" + ) %> + <%= error_tag(f, :primer_type, "col-span-3 text-center") %> + + <%= label(f, :rimfire, gettext("Rimfire"), class: "mr-4 title text-lg text-primary-500") %> + <%= checkbox(f, :rimfire, class: "text-center col-span-2 checkbox") %> + <%= error_tag(f, :rimfire, "col-span-3 text-center") %> + + <%= label(f, :tracer, gettext("Tracer"), class: "mr-4 title text-lg text-primary-500") %> + <%= checkbox(f, :tracer, class: "text-center col-span-2 checkbox") %> + <%= error_tag(f, :tracer, "col-span-3 text-center") %> + + <%= label(f, :incendiary, gettext("Incendiary"), class: "mr-4 title text-lg text-primary-500") %> + <%= checkbox(f, :incendiary, class: "text-center col-span-2 checkbox") %> + <%= error_tag(f, :incendiary, "col-span-3 text-center") %> + + <%= label(f, :blank, gettext("Blank"), class: "mr-4 title text-lg text-primary-500") %> + <%= checkbox(f, :blank, class: "text-center col-span-2 checkbox") %> + <%= error_tag(f, :blank, "col-span-3 text-center") %> + + <%= label(f, :corrosive, gettext("Corrosive"), class: "mr-4 title text-lg text-primary-500") %> + <%= checkbox(f, :corrosive, class: "text-center col-span-2 checkbox") %> + <%= error_tag(f, :corrosive, "col-span-3 text-center") %> + + <%= label(f, :manufacturer, gettext("Manufacturer"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :manufacturer, class: "text-center col-span-2 input input-primary") %> + <%= error_tag(f, :manufacturer, "col-span-3 text-center") %> + + <%= label(f, :sku, gettext("SKU"), class: "mr-4 title text-lg text-primary-500") %> + <%= text_input(f, :sku, class: "text-center col-span-2 input input-primary") %> + <%= error_tag(f, :sku, "col-span-3 text-center") %> + + <%= submit(dgettext("actions", "Save"), + phx_disable_with: dgettext("prompts", "Saving..."), + class: "mx-auto col-span-3 btn btn-primary" + ) %> + +
diff --git a/lib/cannery_web/live/container_live/add_tag_component.ex b/lib/cannery_web/live/container_live/add_tag_component.ex index 6cd43cf..e6be408 100644 --- a/lib/cannery_web/live/container_live/add_tag_component.ex +++ b/lib/cannery_web/live/container_live/add_tag_component.ex @@ -44,34 +44,6 @@ defmodule CanneryWeb.ContainerLive.AddTagComponent do {:noreply, socket} end - @impl true - def render(assigns) do - ~H""" -
-

- <%= @title %> -

- - <.form - let={f} - for={:tag} - id="add-tag-to-container-form" - class="grid grid-cols-3 justify-center items-center space-x-2" - phx-target={@myself} - phx-submit="save" - > - <%= select(f, :tag_id, tag_options(@tags), class: "text-center col-span-2 input input-primary") %> - <%= error_tag(f, :tag_id, "col-span-3 text-center") %> - - <%= submit(dgettext("actions", "Add"), - class: "mx-auto btn btn-primary", - phx_disable_with: dgettext("prompts", "Adding...") - ) %> - -
- """ - end - @spec tag_options([Tag.t()]) :: [{String.t(), Tag.id()}] defp tag_options(tags) do tags |> Enum.map(fn %{id: id, name: name} -> {name, id} end) diff --git a/lib/cannery_web/live/container_live/add_tag_component.html.heex b/lib/cannery_web/live/container_live/add_tag_component.html.heex new file mode 100644 index 0000000..dfc1a32 --- /dev/null +++ b/lib/cannery_web/live/container_live/add_tag_component.html.heex @@ -0,0 +1,22 @@ +
+

+ <%= @title %> +

+ + <.form + let={f} + for={:tag} + id="add-tag-to-container-form" + class="grid grid-cols-3 justify-center items-center space-x-2" + phx-target={@myself} + phx-submit="save" + > + <%= select(f, :tag_id, tag_options(@tags), class: "text-center col-span-2 input input-primary") %> + <%= error_tag(f, :tag_id, "col-span-3 text-center") %> + + <%= submit(dgettext("actions", "Add"), + class: "mx-auto btn btn-primary", + phx_disable_with: dgettext("prompts", "Adding...") + ) %> + +
diff --git a/lib/cannery_web/live/container_live/form_component.ex b/lib/cannery_web/live/container_live/form_component.ex index e4ed9c5..c22fe4b 100644 --- a/lib/cannery_web/live/container_live/form_component.ex +++ b/lib/cannery_web/live/container_live/form_component.ex @@ -35,67 +35,6 @@ defmodule CanneryWeb.ContainerLive.FormComponent do save_container(socket, action, container_params) end - @impl true - def render(assigns) do - ~H""" -
-

- <%= @title %> -

- <.form - let={f} - for={@changeset} - id="container-form" - class="grid grid-cols-3 justify-center items-center space-y-4" - phx-target={@myself} - phx-change="validate" - phx-submit="save" - > - <%= if @changeset.action do %> -
- <%= changeset_errors(@changeset) %> -
- <% end %> - - <%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-500") %> - <%= text_input(f, :name, - class: "input input-primary col-span-2", - placeholder: gettext("My cool ammo can") - ) %> - <%= error_tag(f, :name, "col-span-3 text-center") %> - - <%= label(f, :desc, gettext("Description"), class: "title text-lg text-primary-500") %> - <%= textarea(f, :desc, - class: "input input-primary col-span-2", - phx_hook: "MaintainAttrs", - placeholder: gettext("Metal ammo can with the anime girl sticker") - ) %> - <%= error_tag(f, :desc, "col-span-3 text-center") %> - - <%= label(f, :type, gettext("Type"), class: "title text-lg text-primary-500") %> - <%= text_input(f, :type, - class: "input input-primary col-span-2", - placeholder: gettext("Magazine, Clip, Ammo Box, etc") - ) %> - <%= error_tag(f, :type, "col-span-3 text-center") %> - - <%= label(f, :location, gettext("Location"), class: "title text-lg text-primary-500") %> - <%= textarea(f, :location, - class: "input input-primary col-span-2", - phx_hook: "MaintainAttrs", - placeholder: gettext("On the bookshelf") - ) %> - <%= error_tag(f, :location, "col-span-3 text-center") %> - - <%= submit(dgettext("actions", "Save"), - class: "mx-auto btn btn-primary col-span-3", - phx_disable_with: dgettext("prompts", "Saving...") - ) %> - -
- """ - end - defp save_container( %{assigns: %{container: container, current_user: current_user, return_to: return_to}} = socket, diff --git a/lib/cannery_web/live/container_live/form_component.html.heex b/lib/cannery_web/live/container_live/form_component.html.heex new file mode 100644 index 0000000..2b5f438 --- /dev/null +++ b/lib/cannery_web/live/container_live/form_component.html.heex @@ -0,0 +1,55 @@ +
+

+ <%= @title %> +

+ <.form + let={f} + for={@changeset} + id="container-form" + class="grid grid-cols-3 justify-center items-center space-y-4" + phx-target={@myself} + phx-change="validate" + phx-submit="save" + > + <%= if @changeset.action do %> +
+ <%= changeset_errors(@changeset) %> +
+ <% end %> + + <%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-500") %> + <%= text_input(f, :name, + class: "input input-primary col-span-2", + placeholder: gettext("My cool ammo can") + ) %> + <%= error_tag(f, :name, "col-span-3 text-center") %> + + <%= label(f, :desc, gettext("Description"), class: "title text-lg text-primary-500") %> + <%= textarea(f, :desc, + class: "input input-primary col-span-2", + phx_hook: "MaintainAttrs", + placeholder: gettext("Metal ammo can with the anime girl sticker") + ) %> + <%= error_tag(f, :desc, "col-span-3 text-center") %> + + <%= label(f, :type, gettext("Type"), class: "title text-lg text-primary-500") %> + <%= text_input(f, :type, + class: "input input-primary col-span-2", + placeholder: gettext("Magazine, Clip, Ammo Box, etc") + ) %> + <%= error_tag(f, :type, "col-span-3 text-center") %> + + <%= label(f, :location, gettext("Location"), class: "title text-lg text-primary-500") %> + <%= textarea(f, :location, + class: "input input-primary col-span-2", + phx_hook: "MaintainAttrs", + placeholder: gettext("On the bookshelf") + ) %> + <%= error_tag(f, :location, "col-span-3 text-center") %> + + <%= submit(dgettext("actions", "Save"), + class: "mx-auto btn btn-primary col-span-3", + phx_disable_with: dgettext("prompts", "Saving...") + ) %> + +
diff --git a/lib/cannery_web/live/invite_live/form_component.ex b/lib/cannery_web/live/invite_live/form_component.ex index e20fd3d..1cdf202 100644 --- a/lib/cannery_web/live/invite_live/form_component.ex +++ b/lib/cannery_web/live/invite_live/form_component.ex @@ -30,45 +30,6 @@ defmodule CanneryWeb.InviteLive.FormComponent do save_invite(socket, action, invite_params) end - @impl true - def render(assigns) do - ~H""" -
-

- <%= @title %> -

- <.form - let={f} - for={@changeset} - id="invite-form" - class="grid grid-cols-3 justify-center items-center space-y-4" - phx-target={@myself} - phx-change="validate" - phx-submit="save" - > - <%= if @changeset.action do %> -
- <%= changeset_errors(@changeset) %> -
- <% end %> - - <%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-500") %> - <%= text_input(f, :name, class: "input input-primary col-span-2") %> - <%= error_tag(f, :name, "col-span-3") %> - - <%= label(f, :uses_left, gettext("Uses left"), class: "title text-lg text-primary-500") %> - <%= number_input(f, :uses_left, min: 0, class: "input input-primary col-span-2") %> - <%= error_tag(f, :uses_left, "col-span-3") %> - - <%= submit(dgettext("actions", "Save"), - class: "mx-auto btn btn-primary col-span-3", - phx_disable_with: dgettext("prompts", "Saving...") - ) %> - -
- """ - end - defp save_invite( %{assigns: %{current_user: current_user, invite: invite, return_to: return_to}} = socket, :edit, diff --git a/lib/cannery_web/live/invite_live/form_component.html.heex b/lib/cannery_web/live/invite_live/form_component.html.heex new file mode 100644 index 0000000..13b7c5d --- /dev/null +++ b/lib/cannery_web/live/invite_live/form_component.html.heex @@ -0,0 +1,33 @@ +
+

+ <%= @title %> +

+ <.form + let={f} + for={@changeset} + id="invite-form" + class="grid grid-cols-3 justify-center items-center space-y-4" + phx-target={@myself} + phx-change="validate" + phx-submit="save" + > + <%= if @changeset.action do %> +
+ <%= changeset_errors(@changeset) %> +
+ <% end %> + + <%= label(f, :name, gettext("Name"), class: "title text-lg text-primary-500") %> + <%= text_input(f, :name, class: "input input-primary col-span-2") %> + <%= error_tag(f, :name, "col-span-3") %> + + <%= label(f, :uses_left, gettext("Uses left"), class: "title text-lg text-primary-500") %> + <%= number_input(f, :uses_left, min: 0, class: "input input-primary col-span-2") %> + <%= error_tag(f, :uses_left, "col-span-3") %> + + <%= submit(dgettext("actions", "Save"), + class: "mx-auto btn btn-primary col-span-3", + phx_disable_with: dgettext("prompts", "Saving...") + ) %> + +