diff --git a/lib/live_beats_web/live/live_helpers.ex b/lib/live_beats_web/live/live_helpers.ex index abdcc6f..d06a4f9 100644 --- a/lib/live_beats_web/live/live_helpers.ex +++ b/lib/live_beats_web/live/live_helpers.ex @@ -54,6 +54,16 @@ defmodule LiveBeatsWeb.LiveHelpers do ) end + def hide(js \\ %JS{}, selector) do + JS.hide(js, + to: selector, + time: 300, + transition: + {"transition ease-in duration-300", "transform opacity-100 scale-100", + "transform opacity-0 scale-95"} + ) + end + def show_dropdown(to) do JS.show( to: to, @@ -108,10 +118,14 @@ defmodule LiveBeatsWeb.LiveHelpers do assigns = assigns |> assign_new(:show, fn -> false end) - |> assign_new(:title, fn -> [] end) - |> assign_new(:confirm, fn -> nil end) - |> assign_new(:cancel, fn -> nil end) + |> assign_new(:loading, fn -> false end) |> assign_new(:return_to, fn -> nil end) + |> assign_new(:on_cancel, fn -> %JS{} end) + |> assign_new(:on_confirm, fn -> %JS{} end) + # slots + |> assign_new(:title, fn -> [] end) + |> assign_new(:confirm, fn -> [] end) + |> assign_new(:cancel, fn -> [] end) ~H"""