Fix forms UX

This commit is contained in:
Alex
2024-10-19 13:48:08 +02:00
parent d6c48a3d0c
commit 6f8a2fd61d
9 changed files with 81 additions and 4 deletions

View File

@@ -86,12 +86,19 @@ defmodule ClaperWeb.EventLive.EventFormComponent do
end) end)
changeset = changeset =
socket.assigns.changeset
|> Ecto.Changeset.put_assoc(:leaders, leaders)
# Preserve other event fields and changes
updated_changeset =
case leaders do case leaders do
[] -> Events.change_event(socket.assigns.event, %{leaders: leaders}) [] ->
_ -> socket.assigns.changeset |> Ecto.Changeset.put_assoc(:leaders, leaders) Events.change_event(socket.assigns.event, Map.put(socket.assigns.changeset.changes, :leaders, []))
_ ->
changeset
end end
{:noreply, assign(socket, changeset: changeset)} {:noreply, assign(socket, changeset: updated_changeset)}
end end
defp get_temp_id, do: :crypto.strong_rand_bytes(5) |> Base.url_encode64() |> binary_part(0, 5) defp get_temp_id, do: :crypto.strong_rand_bytes(5) |> Base.url_encode64() |> binary_part(0, 5)

View File

@@ -684,7 +684,7 @@ defmodule ClaperWeb.EventLive.Manage do
socket socket
|> assign(:create, "poll") |> assign(:create, "poll")
|> assign(:poll, %Polls.Poll{ |> assign(:poll, %Polls.Poll{
poll_opts: [%Polls.PollOpt{id: 0}, %Polls.PollOpt{id: 1}] poll_opts: [%Polls.PollOpt{content: gettext("Yes")}, %Polls.PollOpt{content: gettext("No")}]
}) })
end end

View File

@@ -1602,3 +1602,13 @@ msgstr "Beenden"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "Weitere Optionen" msgstr "Weitere Optionen"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nein"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"

View File

@@ -1604,3 +1604,13 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""

View File

@@ -1602,3 +1602,13 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "" msgstr ""
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""

View File

@@ -1602,3 +1602,13 @@ msgstr "Finalizar"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "Más opciones" msgstr "Más opciones"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr "No"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Sí"

View File

@@ -1607,3 +1607,13 @@ msgstr "Terminer"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "Plus d'options" msgstr "Plus d'options"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Non"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Oui"

View File

@@ -1603,3 +1603,13 @@ msgstr "Fine"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "Altre opzioni" msgstr "Altre opzioni"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr "No"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Sì"

View File

@@ -1602,3 +1602,13 @@ msgstr "Beëindigen"
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "More options" msgid "More options"
msgstr "Meer opties" msgstr "Meer opties"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nee"
#: lib/claper_web/live/event_live/manage.ex:687
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"