Fix page title for scrobble anything index and release group route
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user