defmodule LiveBeatsWeb.SongLive.SongRow do use LiveBeatsWeb, :live_component def render(assigns) do ~H""" <%= for {col, i} <- Enum.with_index(@col) do %>
<%= if i == 0 do %> <%= if @active do %> <.icon name={:volume_up} class="h-5 w-5 -mt-1 -ml-1"/> <% else %> <.icon name={:play} class="h-5 w-5 text-gray-400"/> <% end %> <% end %> <%= render_slot(col, assigns) %>
<% end %> """ end def update(%{action: :activate}, socket) do {:ok, assign(socket, active: true)} end def update(%{action: :deactivate}, socket) do {:ok, assign(socket, active: false)} end def update(%{action: action}, _socket) do raise ArgumentError, "unkown action #{inspect(action)}" end def update(assigns, socket) do {:ok, assign(socket, id: assigns.id, song: assigns.row, col: assigns.col, class: assigns.class, index: assigns.index, active: false )} end end