diff --git a/lib/wish_web/live/home_live/index.ex b/lib/wish_web/live/home_live/index.ex index 1d526f1..d1d429d 100644 --- a/lib/wish_web/live/home_live/index.ex +++ b/lib/wish_web/live/home_live/index.ex @@ -5,6 +5,17 @@ defmodule WishWeb.HomeLive.Index do @impl true def mount(_params, _session, socket) do - {:ok, stream(socket, :items, Wishlist.list_items())} + {:ok, assign(socket, :items, Wishlist.list_items()) |> assign(:display, :grid)} + end + + @impl true + def handle_event("toggle", _, socket) do + new_state = + case socket.assigns.display do + :row -> :grid + :grid -> :row + end + + {:noreply, assign(socket, :display, new_state)} end end diff --git a/lib/wish_web/live/home_live/index.html.heex b/lib/wish_web/live/home_live/index.html.heex index 51265ce..de6a85a 100644 --- a/lib/wish_web/live/home_live/index.html.heex +++ b/lib/wish_web/live/home_live/index.html.heex @@ -1,26 +1,42 @@ <.header> Listing Items + <:actions> + <.button phx-click="toggle"> + Toggle Display + + -