diff --git a/lib/claper_web/live/embed_live/form_component.ex b/lib/claper_web/live/embed_live/form_component.ex index 28fdb0c..fcf4dee 100644 --- a/lib/claper_web/live/embed_live/form_component.ex +++ b/lib/claper_web/live/embed_live/form_component.ex @@ -20,7 +20,7 @@ defmodule ClaperWeb.EmbedLive.FormComponent do embed = Embeds.get_embed!(id) {:ok, _} = Embeds.delete_embed(socket.assigns.event_uuid, embed) - {:noreply, socket |> push_redirect(to: socket.assigns.return_to)} + {:noreply, socket |> push_navigate(to: socket.assigns.return_to)} end @impl true @@ -47,7 +47,7 @@ defmodule ClaperWeb.EmbedLive.FormComponent do {:ok, _embed} -> {:noreply, socket - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, :changeset, changeset)} @@ -65,7 +65,7 @@ defmodule ClaperWeb.EmbedLive.FormComponent do {:noreply, socket |> maybe_change_current_embed(embed) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} diff --git a/lib/claper_web/live/event_live/event_card_component.ex b/lib/claper_web/live/event_live/event_card_component.ex index ec8ca15..a69aa26 100644 --- a/lib/claper_web/live/event_live/event_card_component.ex +++ b/lib/claper_web/live/event_live/event_card_component.ex @@ -74,125 +74,123 @@ defmodule ClaperWeb.EventLive.EventCardComponent do <% end %> <%= if !Event.finished?(@event) do %> - <%= if @event.presentation_file.status != "progress" do %> -
-
+
+ - + <.link + :if={Event.started?(@event)} + data-confirm={ + gettext( + "Are you sure you want to terminate this event? This action cannot be undone." + ) + } + phx-value-id={@event.uuid} + phx-click="terminate" + class="flex w-full lg:w-auto pl-3 pr-4 text-white items-center justify-between py-2 rounded-md tracking-wide font-bold focus:outline-none focus:shadow-outline bg-red-500 hover:bg-red-600 transition" + > + - - - - <%= gettext("Terminate") %> - -
-
- <%= if not @is_leader do %> - - <%= gettext("Edit") %> - - <% end %> -
+ + + <%= gettext("Terminate") %> +
- <% end %> +
+ <%= if not @is_leader do %> + + <%= gettext("Edit") %> + + <% end %> +
+
save_file(socket, event_params, &create_event/4) + _ -> create_event(socket, event_params) + end end defp create_event(socket, event_params) do @@ -192,7 +195,7 @@ defmodule ClaperWeb.EventLive.EventFormComponent do {:noreply, socket |> put_flash(:info, gettext("Created successfully")) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} @@ -228,7 +231,7 @@ defmodule ClaperWeb.EventLive.EventFormComponent do {:noreply, socket |> put_flash(:info, gettext("Created successfully")) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} @@ -248,7 +251,7 @@ defmodule ClaperWeb.EventLive.EventFormComponent do {:noreply, socket |> put_flash(:info, gettext("Updated successfully")) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, :changeset, changeset)} diff --git a/lib/claper_web/live/event_live/index.ex b/lib/claper_web/live/event_live/index.ex index 18f1961..1eb53eb 100644 --- a/lib/claper_web/live/event_live/index.ex +++ b/lib/claper_web/live/event_live/index.ex @@ -71,7 +71,7 @@ defmodule ClaperWeb.EventLive.Index do {:noreply, socket |> put_flash(:info, gettext("Quick event created successfully")) - |> push_redirect(to: ~p"/events")} + |> push_navigate(to: ~p"/events")} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, quick_event_changeset: changeset)} diff --git a/lib/claper_web/live/event_live/join.ex b/lib/claper_web/live/event_live/join.ex index c94a9e2..455116a 100644 --- a/lib/claper_web/live/event_live/join.ex +++ b/lib/claper_web/live/event_live/join.ex @@ -28,7 +28,7 @@ defmodule ClaperWeb.EventLive.Join do @impl true def handle_event("join", %{"event" => %{"code" => code}}, socket) do - {:noreply, socket |> push_redirect(to: ~p"/e/#{String.downcase(code)}")} + {:noreply, socket |> push_navigate(to: ~p"/e/#{String.downcase(code)}")} end defp apply_action(socket, :join, _params) do diff --git a/lib/claper_web/live/event_live/manage.ex b/lib/claper_web/live/event_live/manage.ex index fad99de..dab5de1 100644 --- a/lib/claper_web/live/event_live/manage.ex +++ b/lib/claper_web/live/event_live/manage.ex @@ -642,7 +642,7 @@ defmodule ClaperWeb.EventLive.Manage do if socket.assigns.create != nil do {:noreply, socket - |> push_redirect(to: ~p"/e/#{socket.assigns.event.code}/manage")} + |> push_navigate(to: ~p"/e/#{socket.assigns.event.code}/manage")} else {:noreply, socket} end diff --git a/lib/claper_web/live/event_live/show.ex b/lib/claper_web/live/event_live/show.ex index 3f887bd..43f2541 100644 --- a/lib/claper_web/live/event_live/show.ex +++ b/lib/claper_web/live/event_live/show.ex @@ -191,7 +191,7 @@ defmodule ClaperWeb.EventLive.Show do {:noreply, socket |> put_flash(:error, gettext("This event has been terminated")) - |> push_redirect(to: ~p"/")} + |> push_navigate(to: ~p"/")} end @impl true @@ -204,7 +204,7 @@ defmodule ClaperWeb.EventLive.Show do {:noreply, socket |> put_flash(:error, gettext("You have been banned from this event")) - |> push_redirect(to: ~p"/")} + |> push_navigate(to: ~p"/")} else {:noreply, socket} end @@ -219,7 +219,7 @@ defmodule ClaperWeb.EventLive.Show do {:noreply, socket |> put_flash(:error, gettext("You have been banned from this event")) - |> push_redirect(to: ~p"/")} + |> push_navigate(to: ~p"/")} else {:noreply, socket} end diff --git a/lib/claper_web/live/form_live/form_component.ex b/lib/claper_web/live/form_live/form_component.ex index bfb4558..a2f4271 100644 --- a/lib/claper_web/live/form_live/form_component.ex +++ b/lib/claper_web/live/form_live/form_component.ex @@ -20,7 +20,7 @@ defmodule ClaperWeb.FormLive.FormComponent do form = Forms.get_form!(id) {:ok, _} = Forms.delete_form(socket.assigns.event_uuid, form) - {:noreply, socket |> push_redirect(to: socket.assigns.return_to)} + {:noreply, socket |> push_navigate(to: socket.assigns.return_to)} end @impl true @@ -65,7 +65,7 @@ defmodule ClaperWeb.FormLive.FormComponent do {:ok, _form} -> {:noreply, socket - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, :changeset, changeset)} @@ -83,7 +83,7 @@ defmodule ClaperWeb.FormLive.FormComponent do {:noreply, socket |> maybe_change_current_form(form) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} diff --git a/lib/claper_web/live/poll_live/form_component.ex b/lib/claper_web/live/poll_live/form_component.ex index fdabbff..79aafa6 100644 --- a/lib/claper_web/live/poll_live/form_component.ex +++ b/lib/claper_web/live/poll_live/form_component.ex @@ -20,7 +20,7 @@ defmodule ClaperWeb.PollLive.FormComponent do poll = Polls.get_poll!(id) {:ok, _} = Polls.delete_poll(socket.assigns.event_uuid, poll) - {:noreply, socket |> push_redirect(to: socket.assigns.return_to)} + {:noreply, socket |> push_navigate(to: socket.assigns.return_to)} end @impl true @@ -65,7 +65,7 @@ defmodule ClaperWeb.PollLive.FormComponent do {:ok, _poll} -> {:noreply, socket - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, :changeset, changeset)} @@ -83,7 +83,7 @@ defmodule ClaperWeb.PollLive.FormComponent do {:noreply, socket |> maybe_change_current_poll(poll) - |> push_redirect(to: socket.assigns.return_to)} + |> push_navigate(to: socket.assigns.return_to)} {:error, %Ecto.Changeset{} = changeset} -> {:noreply, assign(socket, changeset: changeset)} diff --git a/lib/claper_web/live/user_settings_live/show.ex b/lib/claper_web/live/user_settings_live/show.ex index 30ce9ed..9705797 100644 --- a/lib/claper_web/live/user_settings_live/show.ex +++ b/lib/claper_web/live/user_settings_live/show.ex @@ -68,7 +68,7 @@ defmodule ClaperWeb.UserSettingsLive.Show do :info, gettext("A link to confirm your email change has been sent to the new address.") ) - |> push_redirect(to: ~p"/users/settings")} + |> push_navigate(to: ~p"/users/settings")} {:error, changeset} -> {:noreply, assign(socket, :email_changeset, changeset)} @@ -90,7 +90,7 @@ defmodule ClaperWeb.UserSettingsLive.Show do :info, gettext("Your password has been updated.") ) - |> push_redirect(to: ~p"/users/settings")} + |> push_navigate(to: ~p"/users/settings")} {:error, changeset} -> {:noreply, assign(socket, :password_changeset, changeset)}