Fix inconsistencies in import and search
This commit is contained in:
@@ -15,9 +15,9 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do
|
|||||||
phx-submit="search"
|
phx-submit="search"
|
||||||
>
|
>
|
||||||
<.input
|
<.input
|
||||||
id={:import_query}
|
id={:mb_query}
|
||||||
name={:import_query}
|
name={:mb_query}
|
||||||
field={@form[:query]}
|
field={@form[:mb_query]}
|
||||||
type="text"
|
type="text"
|
||||||
label="Search for a record on MusicBrainz"
|
label="Search for a record on MusicBrainz"
|
||||||
prompt="Search for records"
|
prompt="Search for records"
|
||||||
@@ -33,10 +33,7 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do
|
|||||||
|
|
||||||
defp result(assigns) do
|
defp result(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<li
|
<li class="flex justify-between gap-x-6 py-5 hover:bg-gray-50">
|
||||||
class="flex justify-between gap-x-6 py-5 cursor-pointer hover:bg-gray-50"
|
|
||||||
phx-click={JS.push("import", value: %{id: @release_group.id}, page_loading: true)}
|
|
||||||
>
|
|
||||||
<div class="flex min-w-0 gap-x-4">
|
<div class="flex min-w-0 gap-x-4">
|
||||||
<div class="min-w-0 flex-auto">
|
<div class="min-w-0 flex-auto">
|
||||||
<p class="text-sm font-semibold leading-6 text-gray-900">
|
<p class="text-sm font-semibold leading-6 text-gray-900">
|
||||||
@@ -55,7 +52,9 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do
|
|||||||
<span class="isolate inline-flex rounded-md shadow-sm">
|
<span class="isolate inline-flex rounded-md shadow-sm">
|
||||||
<button
|
<button
|
||||||
:for={format <- Records.Record.formats()}
|
:for={format <- Records.Record.formats()}
|
||||||
phx-click={JS.push("import", value: %{id: @release_group.id, format: format})}
|
phx-click={
|
||||||
|
JS.push("import", value: %{id: @release_group.id, format: format}, page_loading: true)
|
||||||
|
}
|
||||||
type="button"
|
type="button"
|
||||||
class="relative -ml-px inline-flex items-center first:rounded-l-md last:rounded-r-md bg-white px-3 py-2 text-sm font-semibold text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10"
|
class="relative -ml-px inline-flex items-center first:rounded-l-md last:rounded-r-md bg-white px-3 py-2 text-sm font-semibold text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10"
|
||||||
>
|
>
|
||||||
@@ -82,22 +81,22 @@ defmodule MusicLibraryWeb.RecordLive.ImportComponent do
|
|||||||
{:ok,
|
{:ok,
|
||||||
socket
|
socket
|
||||||
|> assign(:release_groups, [])
|
|> assign(:release_groups, [])
|
||||||
|> assign(:form, to_form(%{"import_query" => ""}))}
|
|> assign(:form, to_form(%{"mb_query" => ""}))}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("search", %{"import_query" => query}, socket) do
|
def handle_event("search", %{"mb_query" => mb_query}, socket) do
|
||||||
{:ok, release_groups} = search(query)
|
{:ok, release_groups} = search(mb_query)
|
||||||
|
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|> assign(:release_groups, release_groups)
|
|> assign(:release_groups, release_groups)
|
||||||
|> assign(:form, to_form(%{"import_query" => query}))}
|
|> assign(:form, to_form(%{"mb_query" => mb_query}))}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp search(""), do: {:ok, []}
|
defp search(""), do: {:ok, []}
|
||||||
|
|
||||||
defp search(query) do
|
defp search(mb_query) do
|
||||||
Records.search_release_group(query, limit: 10)
|
Records.search_release_group(mb_query, limit: 10)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
<input
|
<input
|
||||||
type="search"
|
type="search"
|
||||||
class="w-full rounded-lg text-zinc-900 focus:ring-0 sm:text-sm sm:leading-6"
|
class="w-full rounded-lg text-zinc-900 focus:ring-0 sm:text-sm sm:leading-6"
|
||||||
id={:record_search}
|
id={:query}
|
||||||
name={:record_search}
|
name={:query}
|
||||||
value={@record_list_params.query}
|
value={@record_list_params.query}
|
||||||
placeholder="Search"
|
placeholder="Search"
|
||||||
phx-debounce="500"
|
phx-debounce="500"
|
||||||
|
|||||||
Reference in New Issue
Block a user