Default displaying albums in scrobble activity

This commit is contained in:
Claudio Ortolina
2025-03-22 08:24:22 +00:00
parent b0d05546dd
commit 22de7ed85f
4 changed files with 30 additions and 16 deletions
@@ -25,7 +25,7 @@ defmodule MusicLibraryWeb.StatsLive.Index do
|> assign_counts()
|> assign_scrobble_activity(recent_tracks)
|> assign(
scrobble_activity_mode: :tracks,
scrobble_activity_mode: :albums,
latest_record: latest_record,
page_title: gettext("Stats"),
nav_section: :stats
@@ -84,22 +84,10 @@
</div>
<%!-- TODO: replace with OSS version --%>
<span class="mt-5 isolate inline-flex rounded-md shadow-xs">
<button
phx-click={JS.push("set_scrobble_activity_mode", value: %{"mode" => :tracks})}
class={[
"relative inline-flex items-center rounded-l-md",
"px-3 py-2 text-xs sm:text-sm font-semibold",
"ring-1 ring-inset focus:z-10",
"bg-white dark:bg-zinc-900 text-zinc-900 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-700 ring-zinc-300",
@scrobble_activity_mode == :tracks && "!bg-zinc-100 dark:!bg-zinc-700"
]}
>
{gettext("Tracks")}
</button>
<button
phx-click={JS.push("set_scrobble_activity_mode", value: %{"mode" => :albums})}
class={[
"relative -ml-px inline-flex items-center rounded-r-md",
"relative inline-flex items-center rounded-l-md",
"px-3 py-2 text-xs sm:text-sm font-semibold",
"ring-1 ring-inset focus:z-10",
"bg-white dark:bg-zinc-900 text-zinc-900 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-700 ring-zinc-300",
@@ -108,6 +96,18 @@
>
{gettext("Albums")}
</button>
<button
phx-click={JS.push("set_scrobble_activity_mode", value: %{"mode" => :tracks})}
class={[
"relative -ml-px inline-flex items-center rounded-r-md",
"px-3 py-2 text-xs sm:text-sm font-semibold",
"ring-1 ring-inset focus:z-10",
"bg-white dark:bg-zinc-900 text-zinc-900 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-700 ring-zinc-300",
@scrobble_activity_mode == :tracks && "!bg-zinc-100 dark:!bg-zinc-700"
]}
>
{gettext("Tracks")}
</button>
</span>
<ul
:if={@scrobble_activity_mode == :albums}
+2 -2
View File
@@ -696,12 +696,12 @@ msgstr ""
msgid "Search for a record"
msgstr ""
#: lib/music_library_web/live/stats_live/index.html.heex:109
#: lib/music_library_web/live/stats_live/index.html.heex:97
#, elixir-autogen, elixir-format
msgid "Albums"
msgstr ""
#: lib/music_library_web/live/stats_live/index.html.heex:97
#: lib/music_library_web/live/stats_live/index.html.heex:109
#, elixir-autogen, elixir-format
msgid "Tracks"
msgstr ""
@@ -160,9 +160,23 @@ defmodule MusicLibraryWeb.StatsLive.IndexTest do
|> Records.change_record(%{release_ids: ["2157367e-bf73-48bb-8185-41023a54fa08"]})
|> Repo.update!()
# By default, we show scrobbled albums
session =
conn
|> visit("/")
|> assert_has("#album-#{machinarium_soundtrack_track.scrobbled_at_uts}",
text: "Wishlisted"
)
|> assert_has("#album-#{the_last_flight_track.scrobbled_at_uts}", text: "Collected")
|> assert_has("#album-#{the_mystery_of_time_track.scrobbled_at_uts}",
text: "Choose which format to import"
)
|> assert_has("#album-#{in_murmuration_track.scrobbled_at_uts}",
text: "No MB ID"
)
# Switch to tracks list
|> click_button("Tracks")
|> assert_has("#track-#{machinarium_soundtrack_track.scrobbled_at_uts}",
text: "Wishlisted"
)