diff --git a/lib/music_library_web/live/record_live/import_component.ex b/lib/music_library_web/live/record_live/import_component.ex index 090e91c4..769877e2 100644 --- a/lib/music_library_web/live/record_live/import_component.ex +++ b/lib/music_library_web/live/record_live/import_component.ex @@ -30,32 +30,35 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do /> -
- {gettext("No results")} -
""" end + attr :id, :string, required: true + attr :icon_name, :string, required: true + attr :release_group, MusicBrainz.ReleaseGroup, required: true + defp result(assigns) do ~H""" -
  • @release_group.id} - class="flex justify-between gap-x-6 py-5 hover:bg-zinc-50 dark:hover:bg-zinc-700" - > +
  • @@ -135,7 +138,10 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do def mount(socket) do {:ok, socket - |> assign(:release_groups, []) + |> stream_configure(:release_groups, + dom_id: fn rg -> "musicbrainz_#{rg.id}" end + ) + |> stream(:release_groups, []) |> assign(:form, to_form(%{"mb_query" => ""}))} end @@ -145,7 +151,7 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do {:noreply, socket - |> assign(:release_groups, release_groups) + |> stream(:release_groups, release_groups, reset: true) |> assign(:form, to_form(%{"mb_query" => mb_query}))} end diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 6a50ab4b..e9f96115 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -146,7 +146,7 @@ msgstr "" msgid "No cover selected" msgstr "" -#: lib/music_library_web/live/record_live/import_component.ex:47 +#: lib/music_library_web/live/record_live/import_component.ex:42 #, elixir-autogen, elixir-format msgid "No results" msgstr "" @@ -341,7 +341,7 @@ msgstr "" msgid "Scrobble activity" msgstr "" -#: lib/music_library_web/live/record_live/import_component.ex:82 +#: lib/music_library_web/live/record_live/import_component.ex:85 #: lib/music_library_web/live/stats_live/index.html.heex:169 #, elixir-autogen, elixir-format msgid "Choose which format to import" diff --git a/test/support/fixtures/release_groups_fixtures.ex b/test/support/fixtures/release_groups_fixtures.ex index d94ea800..12d07702 100644 --- a/test/support/fixtures/release_groups_fixtures.ex +++ b/test/support/fixtures/release_groups_fixtures.ex @@ -1,16 +1,18 @@ defmodule MusicLibrary.ReleaseGroupsFixtures do @fixtures_folder Path.join([File.cwd!(), "test/support/fixtures"]) + alias MusicBrainz.ReleaseGroup + def release_group_search_results do [ - %{ + %ReleaseGroup{ id: "20790e26-98e4-3ad3-a67f-b674758b942d", type: :album, title: "Marbles", artists: "Marillion", release: "2004-05-03" }, - %{ + %ReleaseGroup{ id: "bf20ac32-a793-3bb4-beff-f7b9bffaca38", type: :album, title: "Marbles Live",