(songs expire every six hours)

<.form for={:songs} id="song-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save" >
<%= for {{ref, changeset}, i} <- Enum.with_index(@changesets) do %> <.live_component id={ref} module={SongEntryComponent} changeset={changeset} index={i} /> <% end %>
<%= if Enum.any?(@error_messages) do %>
<.icon name={:x_circle} class="h-5 w-5 text-red-400" />

Oops!

    <%= for {label, kind} <- @error_messages do %>
  • <.file_error label={label} kind={kind} />
  • <% end %>
<% end %>

or drag and drop

MP3s up to 20MB