Regenerate embedding from collection record page
This commit is contained in:
@@ -142,6 +142,25 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def handle_event("regenerate_embeddings", %{"id" => id}, socket) do
|
||||||
|
record = Records.get_record!(id)
|
||||||
|
|
||||||
|
case Similarity.generate_embedding_async(record) do
|
||||||
|
{:ok, _worker} ->
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> put_toast(:info, gettext("In progress - record will update automatically"))}
|
||||||
|
|
||||||
|
{:error, reason} ->
|
||||||
|
{:noreply,
|
||||||
|
socket
|
||||||
|
|> put_toast(
|
||||||
|
:error,
|
||||||
|
gettext("Error") <> "," <> inspect(reason)
|
||||||
|
)}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, record}}, socket) do
|
def handle_info({MusicLibraryWeb.Components.RecordForm, {:saved, record}}, socket) do
|
||||||
{:noreply,
|
{:noreply,
|
||||||
|
|||||||
@@ -104,6 +104,19 @@
|
|||||||
{gettext("Populate genres")}
|
{gettext("Populate genres")}
|
||||||
</.dropdown_link>
|
</.dropdown_link>
|
||||||
|
|
||||||
|
<.dropdown_link
|
||||||
|
id={"actions-#{@record.id}-regenerate-embeddings"}
|
||||||
|
phx-click={JS.push("regenerate_embeddings", value: %{id: @record.id})}
|
||||||
|
>
|
||||||
|
<.icon
|
||||||
|
name="hero-sparkles"
|
||||||
|
class="h-4 w-4 mr-1 phx-click-loading:animate-shake"
|
||||||
|
aria-hidden="true"
|
||||||
|
data-slot="icon"
|
||||||
|
/>
|
||||||
|
{gettext("Regenerate embeddings")}
|
||||||
|
</.dropdown_link>
|
||||||
|
|
||||||
<.dropdown_link
|
<.dropdown_link
|
||||||
id={"actions-#{@record.id}-extract-colors-fast"}
|
id={"actions-#{@record.id}-extract-colors-fast"}
|
||||||
phx-click={JS.push("extract_colors", value: %{id: @record.id, method: :fast})}
|
phx-click={JS.push("extract_colors", value: %{id: @record.id, method: :fast})}
|
||||||
|
|||||||
@@ -1682,3 +1682,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Not available"
|
msgid "Not available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/music_library_web/live/collection_live/show.html.heex
|
||||||
|
#, elixir-autogen, elixir-format
|
||||||
|
msgid "Regenerate embeddings"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
@@ -1682,3 +1682,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Not available"
|
msgid "Not available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lib/music_library_web/live/collection_live/show.html.heex
|
||||||
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
|
msgid "Regenerate embeddings"
|
||||||
|
msgstr ""
|
||||||
|
|||||||
Reference in New Issue
Block a user