Improve importing visual feedback

This commit is contained in:
Claudio Ortolina
2024-09-24 18:33:39 +01:00
parent 31d74fde34
commit d3ea26ed8f
3 changed files with 13 additions and 7 deletions
+6
View File
@@ -32,6 +32,12 @@ defmodule MusicLibrary.Records do
Repo.one!(q)
end
def search_release_group(query, opts \\ []) do
limit = Keyword.get(opts, :limit, 20)
offset = Keyword.get(opts, :offset, 0)
MusicBrainz.search_release_group(query, limit: limit, offset: offset)
end
def import_from_musicbrainz(musicbrainz_id) do
with {:ok, release_group} <- MusicBrainz.get_release_group(musicbrainz_id),
{:ok, image_data} <- MusicBrainz.get_cover_art(musicbrainz_id),
+3 -3
View File
@@ -148,9 +148,9 @@ defmodule MusicLibrary.Records.MusicBrainz do
]
}
"""
def search_release_group(query, opts \\ []) do
limit = Keyword.get(opts, :limit, 20)
offset = Keyword.get(opts, :offset, 0)
def search_release_group(query, opts) do
limit = Keyword.fetch!(opts, :limit)
offset = Keyword.fetch!(opts, :offset)
qs = [
query: query,
@@ -1,7 +1,8 @@
defmodule MusicLibraryWeb.RecordLive.SearchComponent do
use MusicLibraryWeb, :live_component
alias MusicLibrary.Records.MusicBrainz
alias MusicLibrary.Records
@impl true
def render(assigns) do
~H"""
@@ -32,8 +33,7 @@ defmodule MusicLibraryWeb.RecordLive.SearchComponent do
~H"""
<li
class="flex justify-between gap-x-6 py-5 cursor-pointer hover:bg-gray-50"
phx-click={JS.push("import", value: %{id: @record.id})}
data-confirm="Are you sure you want to import this record?"
phx-click={JS.push("import", value: %{id: @record.id}, page_loading: true)}
>
<div class="flex min-w-0 gap-x-4">
<div class="min-w-0 flex-auto">
@@ -85,7 +85,7 @@ defmodule MusicLibraryWeb.RecordLive.SearchComponent do
defp search(""), do: {:ok, []}
defp search(query) do
case MusicBrainz.search_release_group(query) do
case Records.search_release_group(query, limit: 10) do
{:ok, result} ->
{:ok,
Enum.map(result["release-groups"], fn rg ->