diff --git a/lib/music_library_web/components/layouts.ex b/lib/music_library_web/components/layouts.ex index 08fbaeaa..89d52902 100644 --- a/lib/music_library_web/components/layouts.ex +++ b/lib/music_library_web/components/layouts.ex @@ -10,7 +10,7 @@ defmodule MusicLibraryWeb.Layouts do """ use MusicLibraryWeb, :html - alias Phoenix.LiveView.ColocatedHook + import MusicLibraryWeb.UniversalSearchLive.Index, only: [universal_search_trigger: 1] embed_templates "layouts/*" diff --git a/lib/music_library_web/components/layouts/app.html.heex b/lib/music_library_web/components/layouts/app.html.heex index 7fc9d765..5dea12ca 100644 --- a/lib/music_library_web/components/layouts/app.html.heex +++ b/lib/music_library_web/components/layouts/app.html.heex @@ -38,37 +38,7 @@
- - <.button - id="universal-search-button" - variant="ghost" - title={gettext("Search (Ctrl+K)")} - phx-click="open_modal" - phx-target="#universal-search" - phx-hook=".SearchGlobalShortcut" - > - {gettext("Search (Ctrl+K)")} - <.icon name="hero-magnifying-glass" class="h-5 w-5" /> - + <.universal_search_trigger /> <.dropdown placement="bottom-end"> <:toggle>
-
- {live_render(@socket, MusicLibraryWeb.UniversalSearchLive.Index, - id: "universal-search", - session: %{} - )} -
+{MusicLibraryWeb.UniversalSearchLive.Index.live(@socket)} 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 e182bfc3..6ab8b3e4 100644 --- a/lib/music_library_web/live/universal_search_live/index.ex +++ b/lib/music_library_web/live/universal_search_live/index.ex @@ -4,6 +4,47 @@ defmodule MusicLibraryWeb.UniversalSearchLive.Index do import MusicLibraryWeb.SearchComponents alias MusicLibrary.Search + alias Phoenix.LiveView.ColocatedHook + + def live(socket) do + live_render(socket, __MODULE__, id: "universal-search", session: %{}) + end + + def universal_search_trigger(assigns) do + ~H""" + + <.button + id="universal-search-button" + variant="ghost" + title={gettext("Search (Ctrl+K)")} + phx-click="open_modal" + phx-target="#universal-search" + phx-hook=".SearchGlobalShortcut" + > + {gettext("Search (Ctrl+K)")} + <.icon name="hero-magnifying-glass" class="h-5 w-5" /> + + """ + end @impl true def mount(_params, _session, socket) do diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 7711887d..87d0465b 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -1135,7 +1135,7 @@ msgstr[1] "" msgid "Close" msgstr "" -#: lib/music_library_web/components/layouts/app.html.heex +#: lib/music_library_web/live/universal_search_live/index.ex #, elixir-autogen, elixir-format msgid "Search (Ctrl+K)" msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index b233c98a..2dac55f2 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -1135,7 +1135,7 @@ msgstr[1] "" msgid "Close" msgstr "" -#: lib/music_library_web/components/layouts/app.html.heex +#: lib/music_library_web/live/universal_search_live/index.ex #, elixir-autogen, elixir-format msgid "Search (Ctrl+K)" msgstr ""