Fix inconsistencies in import and search

This commit is contained in:
Claudio Ortolina
2024-10-01 22:32:05 +01:00
parent a3eaaef9d2
commit df83d0a82b
2 changed files with 15 additions and 16 deletions
@@ -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"