defmodule WishWeb.HomeLive.Index do use WishWeb, :live_view alias Wish.Wishlist @impl true def mount(_params, _session, socket) do {: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