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 =
|
||||||
socket
|
socket
|
||||||
|> assign(:page_title, gettext("Scrobble"))
|
|> assign(:page_title, gettext("Scrobble Anything"))
|
||||||
|> assign(:search_query, query)
|
|> assign(:search_query, query)
|
||||||
|
|
||||||
if String.trim(query) != "" do
|
if String.trim(query) != "" do
|
||||||
|
|||||||
@@ -107,8 +107,7 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShow do
|
|||||||
assign(socket,
|
assign(socket,
|
||||||
current_section: :scrobble,
|
current_section: :scrobble,
|
||||||
release_group_data: AsyncResult.loading(),
|
release_group_data: AsyncResult.loading(),
|
||||||
rg_id: nil,
|
rg_id: nil
|
||||||
page_title: gettext("Scrobble")
|
|
||||||
)}
|
)}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -124,11 +123,12 @@ defmodule MusicLibraryWeb.ScrobbleLive.ReleaseGroupShow do
|
|||||||
@impl true
|
@impl true
|
||||||
def handle_async(:release_group_data, {:ok, {:ok, data}}, socket) do
|
def handle_async(:release_group_data, {:ok, {:ok, data}}, socket) do
|
||||||
{:noreply,
|
{:noreply,
|
||||||
assign(
|
socket
|
||||||
socket,
|
|> assign(
|
||||||
:release_group_data,
|
:release_group_data,
|
||||||
AsyncResult.ok(socket.assigns.release_group_data, data)
|
AsyncResult.ok(socket.assigns.release_group_data, data)
|
||||||
)}
|
)
|
||||||
|
|> assign(:page_title, page_title(data.release_group))}
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_async(:release_group_data, {:ok, {:error, reason}}, socket) do
|
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
|
defp parse_release_group(_) do
|
||||||
{:error, :invalid_release_group_response}
|
{:error, :invalid_release_group_response}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp page_title(release_group) do
|
||||||
|
Enum.join(
|
||||||
|
[
|
||||||
|
release_group.artists,
|
||||||
|
"-",
|
||||||
|
release_group.title,
|
||||||
|
"·",
|
||||||
|
gettext("Release Group"),
|
||||||
|
"·",
|
||||||
|
gettext("Scrobble Anything")
|
||||||
|
],
|
||||||
|
" "
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1250,12 +1250,6 @@ msgstr ""
|
|||||||
msgid "90d"
|
msgid "90d"
|
||||||
msgstr ""
|
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
|
#: lib/music_library_web/live/scrobble_live/index.ex
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Failed to search for release groups"
|
msgid "Failed to search for release groups"
|
||||||
@@ -1294,6 +1288,8 @@ msgid "Scrobble side"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/music_library_web/components/layouts/app.html.heex
|
#: 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
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scrobble Anything"
|
msgid "Scrobble Anything"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2532,3 +2528,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Scrobble Release"
|
msgid "Scrobble Release"
|
||||||
msgstr ""
|
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"
|
msgid "90d"
|
||||||
msgstr ""
|
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
|
#: lib/music_library_web/live/scrobble_live/index.ex
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Failed to search for release groups"
|
msgid "Failed to search for release groups"
|
||||||
@@ -1294,6 +1288,8 @@ msgid "Scrobble side"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/music_library_web/components/layouts/app.html.heex
|
#: 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
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Scrobble Anything"
|
msgid "Scrobble Anything"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2532,3 +2528,8 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Scrobble Release"
|
msgid "Scrobble Release"
|
||||||
msgstr ""
|
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}")
|
|> visit(~p"/scrobble/#{@rg_id}")
|
||||||
|> assert_has("a[href='/scrobble']", text: "Back to search")
|
|> assert_has("a[href='/scrobble']", text: "Back to search")
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
describe "fetch failure" do
|
describe "fetch failure" do
|
||||||
|
|||||||
Reference in New Issue
Block a user