Enable quick actions from universal search
This commit is contained in:
@@ -169,7 +169,7 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
||||
action={@live_action}
|
||||
record={@record}
|
||||
patch={back_path(@record_list_params)}
|
||||
initial_query=""
|
||||
initial_query={@import_query}
|
||||
icon_name="hero-plus"
|
||||
/>
|
||||
</.structured_modal>
|
||||
@@ -198,6 +198,7 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
||||
{:ok,
|
||||
socket
|
||||
|> assign(:current_section, :collection)
|
||||
|> assign(:import_query, "")
|
||||
|> assign(:display, :grid)}
|
||||
end
|
||||
|
||||
@@ -207,9 +208,12 @@ defmodule MusicLibraryWeb.CollectionLive.Index do
|
||||
end
|
||||
|
||||
defp apply_action(socket, :import, params) do
|
||||
import_query = params["import_query"] || ""
|
||||
|
||||
socket
|
||||
|> apply_fallback_index(params, :records, &apply_action/3)
|
||||
|> assign(:page_title, gettext("Add new Record · Collection"))
|
||||
|> assign(:import_query, import_query)
|
||||
|> assign(:record, nil)
|
||||
end
|
||||
|
||||
|
||||
@@ -168,9 +168,20 @@ defmodule MusicLibraryWeb.ScrobbleLive.Index do
|
||||
{:noreply, apply_action(socket, socket.assigns.live_action, params)}
|
||||
end
|
||||
|
||||
defp apply_action(socket, :index, _params) do
|
||||
socket
|
||||
|> assign(:page_title, gettext("Scrobble"))
|
||||
defp apply_action(socket, :index, params) do
|
||||
query = params["query"] || ""
|
||||
|
||||
socket =
|
||||
socket
|
||||
|> assign(:page_title, gettext("Scrobble"))
|
||||
|> assign(:search_query, query)
|
||||
|
||||
if String.trim(query) != "" do
|
||||
send(self(), {:perform_search, query})
|
||||
assign(socket, :loading, true)
|
||||
else
|
||||
socket
|
||||
end
|
||||
end
|
||||
|
||||
@impl true
|
||||
|
||||
@@ -36,7 +36,11 @@ defmodule MusicLibraryWeb.UniversalSearchLive.Index do
|
||||
|
||||
<.empty_state :if={@search_query == ""} />
|
||||
|
||||
<.no_results :if={@search_query != "" and @total_results == 0} query={@search_query} />
|
||||
<.no_results
|
||||
:if={@search_query != "" and @total_results == 0}
|
||||
query={@search_query}
|
||||
target={@myself}
|
||||
/>
|
||||
|
||||
<div :if={@total_results > 0} class="mt-4 max-h-148 overflow-y-auto md:max-h-164">
|
||||
<.search_result_group
|
||||
@@ -145,7 +149,10 @@ defmodule MusicLibraryWeb.UniversalSearchLive.Index do
|
||||
/>
|
||||
</:actions>
|
||||
</.search_result_group>
|
||||
<.results_footer total_results={@total_results} />
|
||||
<.results_footer
|
||||
total_results={@total_results}
|
||||
has_navigable_items={@search_query != ""}
|
||||
/>
|
||||
</.structured_modal>
|
||||
</div>
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user