diff --git a/lib/music_library_web/components/scrobble_components.ex b/lib/music_library_web/components/scrobble_components.ex index 29998004..25160296 100644 --- a/lib/music_library_web/components/scrobble_components.ex +++ b/lib/music_library_web/components/scrobble_components.ex @@ -32,7 +32,7 @@ defmodule MusicLibraryWeb.ScrobbleComponents do def track_metadata_tooltip(assigns) do ~H""" - <.tooltip> + <.tooltip class="bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 shadow-lg ring-1 ring-zinc-200 dark:ring-zinc-700"> <.icon name="hero-information-circle" class="h-5 w-5 text-zinc-500 dark:text-zinc-400 cursor-pointer" @@ -40,46 +40,25 @@ defmodule MusicLibraryWeb.ScrobbleComponents do data-slot="icon" /> <:content> -
-
-
{gettext("Track ID:")}
-
- - {@track.musicbrainz_id || gettext("Unknown")} - - <.copy_to_clipboard - :if={@track.musicbrainz_id not in ["", nil]} - target_id={"tooltip-track-#{@track.scrobbled_at_uts}"} - label={gettext("Copy track MusicBrainz ID to clipboard")} - /> -
-
-
-
{gettext("Album ID:")}
-
- - {@track.album.musicbrainz_id || gettext("Unknown")} - - <.copy_to_clipboard - :if={@track.album.musicbrainz_id not in ["", nil]} - target_id={"tooltip-track-album-#{@track.scrobbled_at_uts}"} - label={gettext("Copy album MusicBrainz ID to clipboard")} - /> -
-
-
-
{gettext("Artist ID:")}
-
- - {@track.artist.musicbrainz_id || gettext("Unknown")} - - <.copy_to_clipboard - :if={@track.artist.musicbrainz_id not in ["", nil]} - target_id={"tooltip-track-artist-#{@track.scrobbled_at_uts}"} - label={gettext("Copy artist MusicBrainz ID to clipboard")} - /> -
-
+
+ <.metadata_row + label={gettext("Track ID")} + value={@track.musicbrainz_id} + id_prefix={"tooltip-track-#{@track.scrobbled_at_uts}"} + copy_label={gettext("Copy track MusicBrainz ID to clipboard")} + /> + <.metadata_row + label={gettext("Album ID")} + value={@track.album.musicbrainz_id} + id_prefix={"tooltip-track-album-#{@track.scrobbled_at_uts}"} + copy_label={gettext("Copy album MusicBrainz ID to clipboard")} + /> + <.metadata_row + label={gettext("Artist ID")} + value={@track.artist.musicbrainz_id} + id_prefix={"tooltip-track-artist-#{@track.scrobbled_at_uts}"} + copy_label={gettext("Copy artist MusicBrainz ID to clipboard")} + />
@@ -90,7 +69,7 @@ defmodule MusicLibraryWeb.ScrobbleComponents do def album_metadata_tooltip(assigns) do ~H""" - <.tooltip> + <.tooltip class="bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 shadow-lg ring-1 ring-zinc-200 dark:ring-zinc-700"> <.icon name="hero-information-circle" class="h-5 w-5 text-zinc-500 dark:text-zinc-400 cursor-pointer" @@ -98,33 +77,19 @@ defmodule MusicLibraryWeb.ScrobbleComponents do data-slot="icon" /> <:content> -
-
-
{gettext("Album ID:")}
-
- - {@album.metadata.musicbrainz_id || gettext("Unknown")} - - <.copy_to_clipboard - :if={@album.metadata.musicbrainz_id not in ["", nil]} - target_id={"tooltip-album-#{@album.scrobbled_at_uts}"} - label={gettext("Copy album MusicBrainz ID to clipboard")} - /> -
-
-
-
{gettext("Artist ID:")}
-
- - {@album.artist.musicbrainz_id || gettext("Unknown")} - - <.copy_to_clipboard - :if={@album.artist.musicbrainz_id not in ["", nil]} - target_id={"tooltip-artist-#{@album.scrobbled_at_uts}"} - label={gettext("Copy artist MusicBrainz ID to clipboard")} - /> -
-
+
+ <.metadata_row + label={gettext("Album ID")} + value={@album.metadata.musicbrainz_id} + id_prefix={"tooltip-album-#{@album.scrobbled_at_uts}"} + copy_label={gettext("Copy album MusicBrainz ID to clipboard")} + /> + <.metadata_row + label={gettext("Artist ID")} + value={@album.artist.musicbrainz_id} + id_prefix={"tooltip-artist-#{@album.scrobbled_at_uts}"} + copy_label={gettext("Copy artist MusicBrainz ID to clipboard")} + />
@@ -185,4 +150,38 @@ defmodule MusicLibraryWeb.ScrobbleComponents do """ end + + attr :label, :string, required: true + attr :value, :string, required: true + attr :id_prefix, :string, required: true + attr :copy_label, :string, required: true + + defp metadata_row(assigns) do + ~H""" +
+
+ {@label} +
+
+ + {@value || gettext("Unknown")} + + <.copy_to_clipboard + :if={@value not in ["", nil]} + target_id={@id_prefix} + label={@copy_label} + /> +
+
+ """ + end end diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index c719a3b0..ad45939b 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -857,16 +857,6 @@ msgstr "" msgid "All time" msgstr "" -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format -msgid "Album ID:" -msgstr "" - -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format -msgid "Artist ID:" -msgstr "" - #: lib/music_library_web/components/scrobble_components.ex #, elixir-autogen, elixir-format msgid "Copy album MusicBrainz ID to clipboard" @@ -882,11 +872,6 @@ msgstr "" msgid "Copy track MusicBrainz ID to clipboard" msgstr "" -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format -msgid "Track ID:" -msgstr "" - #: lib/music_library_web/live/scrobble_rules_live/form.ex #, elixir-autogen, elixir-format msgid "Add a description to help identify this rule" @@ -2336,3 +2321,18 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Untitled" msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format +msgid "Album ID" +msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format +msgid "Artist ID" +msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format +msgid "Track ID" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 910dae3d..0b8df7e4 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -857,16 +857,6 @@ msgstr "" msgid "All time" msgstr "" -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format, fuzzy -msgid "Album ID:" -msgstr "" - -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format -msgid "Artist ID:" -msgstr "" - #: lib/music_library_web/components/scrobble_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "Copy album MusicBrainz ID to clipboard" @@ -882,11 +872,6 @@ msgstr "" msgid "Copy track MusicBrainz ID to clipboard" msgstr "" -#: lib/music_library_web/components/scrobble_components.ex -#, elixir-autogen, elixir-format -msgid "Track ID:" -msgstr "" - #: lib/music_library_web/live/scrobble_rules_live/form.ex #, elixir-autogen, elixir-format msgid "Add a description to help identify this rule" @@ -2336,3 +2321,18 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Untitled" msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Album ID" +msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Artist ID" +msgstr "" + +#: lib/music_library_web/components/scrobble_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Track ID" +msgstr ""