Fix page title for scrobble anything index and release group route

This commit is contained in:
Claudio Ortolina
2026-04-23 20:45:51 +01:00
parent 8911afad94
commit 1bd5707cb4
5 changed files with 43 additions and 18 deletions
@@ -116,7 +116,7 @@ defmodule MusicLibraryWeb.ScrobbleLive.Index do
socket =
socket
|> assign(:page_title, gettext("Scrobble"))
|> assign(:page_title, gettext("Scrobble Anything"))
|> assign(:search_query, query)
if String.trim(query) != "" do
@@ -107,8 +107,7 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShow do
assign(socket,
current_section: :scrobble,
release_group_data: AsyncResult.loading(),
rg_id: nil,
page_title: gettext("Scrobble")
rg_id: nil
)}
end
@@ -124,11 +123,12 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShow do
@impl true
def handle_async(:release_group_data, {:ok, {:ok, data}}, socket) do
{:noreply,
assign(
socket,
socket
|> assign(
:release_group_data,
AsyncResult.ok(socket.assigns.release_group_data, data)
)}
)
|> assign(:page_title, page_title(data.release_group))}
end
def handle_async(:release_group_data, {:ok, {:error, reason}}, socket) do
@@ -166,4 +166,19 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShow do
defp parse_release_group(_) do
{:error, :invalid_release_group_response}
end
defp page_title(release_group) do
Enum.join(
[
release_group.artists,
"-",
release_group.title,
"·",
gettext("Release Group"),
"·",
gettext("Scrobble Anything")
],
" "
)
end
end
+7 -6
View File
@@ -1250,12 +1250,6 @@ msgstr ""
msgid "90d"
msgstr ""
#: lib/music_library_web/live/scrobble_live/index.ex
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format
msgid "Scrobble"
msgstr ""
#: lib/music_library_web/live/scrobble_live/index.ex
#, elixir-autogen, elixir-format
msgid "Failed to search for release groups"
@@ -1294,6 +1288,8 @@ msgid "Scrobble side"
msgstr ""
#: lib/music_library_web/components/layouts/app.html.heex
#: lib/music_library_web/live/scrobble_live/index.ex
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format
msgid "Scrobble Anything"
msgstr ""
@@ -2532,3 +2528,8 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Scrobble Release"
msgstr ""
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format
msgid "Release Group"
msgstr ""
+7 -6
View File
@@ -1250,12 +1250,6 @@ msgstr ""
msgid "90d"
msgstr ""
#: lib/music_library_web/live/scrobble_live/index.ex
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Scrobble"
msgstr ""
#: lib/music_library_web/live/scrobble_live/index.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Failed to search for release groups"
@@ -1294,6 +1288,8 @@ msgid "Scrobble side"
msgstr ""
#: lib/music_library_web/components/layouts/app.html.heex
#: lib/music_library_web/live/scrobble_live/index.ex
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Scrobble Anything"
msgstr ""
@@ -2532,3 +2528,8 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "Scrobble Release"
msgstr ""
#: lib/music_library_web/live/scrobble_live/release_group_show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Release Group"
msgstr ""
@@ -51,6 +51,14 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShowTest do
|> visit(~p"/scrobble/#{@rg_id}")
|> assert_has("a[href='/scrobble']", text: "Back to search")
end
test "sets the page title from the loaded release group", %{conn: conn} do
{:ok, view, _html} = Phoenix.LiveViewTest.live(conn, ~p"/scrobble/#{@rg_id}")
render_async(view)
assert Phoenix.LiveViewTest.page_title(view) ==
"Marillion - Marbles · Release Group · Scrobble Anything"
end
end
describe "fetch failure" do