From 7cdd5027019f99e4a0dfd62dbaadaf9ad1f20acc Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 14 Mar 2026 08:51:19 +0000 Subject: [PATCH] Streamline print/scrobble buttons --- lib/music_library_web/components/release.ex | 31 ++++++++++++------- .../live/scrobble_live/show.ex | 6 ++-- priv/gettext/default.pot | 5 +++ priv/gettext/en/LC_MESSAGES/default.po | 5 +++ 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/lib/music_library_web/components/release.ex b/lib/music_library_web/components/release.ex index 1944ddf2..acb5aa48 100644 --- a/lib/music_library_web/components/release.ex +++ b/lib/music_library_web/components/release.ex @@ -70,18 +70,20 @@ defmodule MusicLibraryWeb.Components.Release do /> {gettext("Tracks")} -
+ <.button_group> <.button :if={@release_with_tracks.ok?} - variant="ghost" + variant="soft" size="sm" phx-click="print_tracklist" phx-target={@myself} > - <.icon name="hero-printer" class="h-4 w-4" /> + {gettext("Print tracklist")} + <.icon name="hero-printer" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> <.button :if={@can_scrobble? && @release_with_tracks.ok?} + variant="soft" size="sm" disabled={@already_scrobbled} phx-click={ @@ -92,12 +94,14 @@ defmodule MusicLibraryWeb.Components.Release do phx-target={@myself} phx-disable-with={gettext("Scrobbling...")} > - {scrobble_button_label(@selected_tracks)} + {scrobble_button_label(@selected_tracks)} + <.icon name="hero-play" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> - <.button :if={!@can_scrobble?} size="sm" href={LastFm.auth_url()}> - {gettext("Connect your Last.fm account")} + <.button :if={!@can_scrobble?} variant="soft" size="sm" href={LastFm.auth_url()}> + {gettext("Connect your Last.fm account")} + <.icon name="hero-link" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> -
+
@@ -176,19 +180,21 @@ defmodule MusicLibraryWeb.Components.Release do {@medium.format} -
+ <.button_group> <.button :if={@record} - variant="ghost" + variant="soft" size="sm" phx-click="print_medium_tracklist" phx-value-medium-number={@medium.number} phx-target={@myself} > - <.icon name="hero-printer" class="h-4 w-4" /> + {gettext("Print tracklist")} + <.icon name="hero-printer" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> <.button :if={@can_scrobble?} + variant="soft" size="sm" disabled={@already_scrobbled || MapSet.size(@selected_tracks) > 0} phx-click="scrobble_medium" @@ -196,9 +202,10 @@ defmodule MusicLibraryWeb.Components.Release do phx-target={@myself} phx-disable-with={gettext("Scrobbling...")} > - {medium_scrobble_label(@medium.format)} + {medium_scrobble_label(@medium.format)} + <.icon name="hero-play" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> -
+
<.track_list medium_number={@medium.number} diff --git a/lib/music_library_web/live/scrobble_live/show.ex b/lib/music_library_web/live/scrobble_live/show.ex index 9ed34556..72cbef12 100644 --- a/lib/music_library_web/live/scrobble_live/show.ex +++ b/lib/music_library_web/live/scrobble_live/show.ex @@ -78,14 +78,16 @@ defmodule MusicLibraryWeb.ScrobbleLive.Show do <.button :if={@can_scrobble} + variant="soft" + size="sm" phx-click={ if MapSet.size(@selected_tracks) > 0, do: "scrobble_selected_tracks", else: "scrobble_release" } - size="sm" > - {scrobble_button_label(@selected_tracks)} + {scrobble_button_label(@selected_tracks)} + <.icon name="hero-play" class="h-4 w-4" aria-hidden="true" data-slot="icon" /> diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 3fda694e..f0336f26 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -2286,3 +2286,8 @@ msgid "1 release" msgid_plural "%{count} releases" msgstr[0] "" msgstr[1] "" + +#: lib/music_library_web/components/release.ex +#, elixir-autogen, elixir-format +msgid "Print tracklist" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 884619cc..20505923 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -2286,3 +2286,8 @@ msgid "1 release" msgid_plural "%{count} releases" msgstr[0] "" msgstr[1] "" + +#: lib/music_library_web/components/release.ex +#, elixir-autogen, elixir-format +msgid "Print tracklist" +msgstr ""