diff --git a/lib/music_library_web/live/collection_live/index.ex b/lib/music_library_web/live/collection_live/index.ex index 33b18b5e..222ed438 100644 --- a/lib/music_library_web/live/collection_live/index.ex +++ b/lib/music_library_web/live/collection_live/index.ex @@ -217,6 +217,12 @@ defmodule MusicLibraryWeb.CollectionLive.Index do placeholder={gettext("Ask about your collection...")} empty_prompt={gettext("Ask anything about your music collection")} /> + +
""" end @@ -228,6 +234,7 @@ defmodule MusicLibraryWeb.CollectionLive.Index do |> assign(:current_section, :collection) |> assign(:import_query, "") |> assign(:display, :grid) + |> assign(:open_chat, false) |> assign(:collection_summary, Collection.collection_summary()) |> assign(:chat_count, Chats.count_chats(:collection, Chats.collection_musicbrainz_id()))} end @@ -274,7 +281,9 @@ defmodule MusicLibraryWeb.CollectionLive.Index do |> merge_order(order) |> merge_pagination(params, total_records) - load_and_assign_records(socket, record_list_params) + socket + |> load_and_assign_records(record_list_params) + |> assign(:open_chat, params["chat"] == "open") end @impl true diff --git a/lib/music_library_web/live/universal_search_live/index.ex b/lib/music_library_web/live/universal_search_live/index.ex index b683da04..9c5433b4 100644 --- a/lib/music_library_web/live/universal_search_live/index.ex +++ b/lib/music_library_web/live/universal_search_live/index.ex @@ -362,6 +362,12 @@ defmodule MusicLibraryWeb.UniversalSearchLive.Index do icon: "hero-circle-stack", keywords: ["collection", "collected", "records"] }, + %{ + label: "Collection Chat", + path: ~p"/collection?chat=open", + icon: "hero-chat-bubble-left-right", + keywords: ["chat", "collection", "ask", "ai"] + }, %{ label: "Wishlist", path: ~p"/wishlist", diff --git a/test/music_library_web/live/universal_search_live/index_test.exs b/test/music_library_web/live/universal_search_live/index_test.exs index 0cfa9b26..6344123c 100644 --- a/test/music_library_web/live/universal_search_live/index_test.exs +++ b/test/music_library_web/live/universal_search_live/index_test.exs @@ -115,6 +115,16 @@ defmodule MusicLibraryWeb.UniversalSearchLive.IndexTest do end end + describe "Navigation links" do + test "shows Collection Chat link when searching for chat", %{conn: conn} do + conn + |> visit(~p"/collection") + |> click_button("Search (Cmd/Ctrl+K)") + |> fill_in("Universal Search", with: "chat") + |> assert_has("[role='option']", "Collection Chat") + end + end + describe "Keyboard navigation" do test "displays keyboard navigation hints when results are present", %{ conn: conn,