@@ -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",