Can wishlist a scrobbled record

This commit is contained in:
Claudio Ortolina
2024-11-08 19:36:05 +00:00
parent d8b7efeebc
commit 0fd12ce44a
6 changed files with 183 additions and 2 deletions
@@ -41,6 +41,34 @@ defmodule MusicLibraryWeb.StatsLive.Index do
)}
end
def handle_event("import", %{"id" => musicbrainz_id, "format" => format}, socket) do
case Records.import_from_musicbrainz_release(musicbrainz_id,
format: format,
purchased_at: nil
) do
{:ok, record} ->
{:noreply,
socket
|> put_flash(:info, gettext("Record imported successfully"))
|> push_navigate(to: ~p"/wishlist/#{record.id}")}
{:error, %Ecto.Changeset{} = changeset} ->
{:noreply,
socket
|> put_flash(
:error,
gettext("Error importing record") <> "," <> inspect(changeset.errors)
)
|> push_patch(to: ~p"/wishlist")}
{:error, reason} ->
{:noreply,
socket
|> put_flash(:error, gettext("Error importing record") <> "," <> inspect(reason))
|> push_patch(to: ~p"/wishlist")}
end
end
def handle_info(%{tracks: tracks}, socket) do
{:noreply, stream(socket, :recent_tracks, tracks, reset: true)}
end
@@ -68,4 +96,14 @@ defmodule MusicLibraryWeb.StatsLive.Index do
|> DateTime.from_unix!()
|> DateTime.to_iso8601()
end
defp toggle_actions_menu(track_id) do
JS.toggle(to: "#actions-#{track_id}")
|> JS.toggle_class("pointer-events-none", to: "#scrobble-activity > li")
end
def close_actions_menu(track_id) do
JS.hide(to: "#actions-#{track_id}")
|> JS.remove_class("pointer-events-none", to: "#scrobble-activity > li")
end
end