From 98c2f852583c2a20f997ca473db9f244562386d1 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Thu, 2 Apr 2026 11:57:41 +0100 Subject: [PATCH] Use a tooltip for release status --- .../components/record_components.ex | 34 ++++++++++++------- .../components/search_components.ex | 4 +-- .../components/stats_components.ex | 6 ++-- .../live/record_set_live/index.ex | 4 +-- .../live/record_set_live/record_picker.ex | 4 +-- .../live/record_set_live/show.ex | 4 +-- priv/gettext/default.pot | 10 ++++++ priv/gettext/en/LC_MESSAGES/default.po | 10 ++++++ 8 files changed, 52 insertions(+), 24 deletions(-) diff --git a/lib/music_library_web/components/record_components.ex b/lib/music_library_web/components/record_components.ex index 021ed54d..81336454 100644 --- a/lib/music_library_web/components/record_components.ex +++ b/lib/music_library_web/components/record_components.ex @@ -32,20 +32,28 @@ defmodule MusicLibraryWeb.RecordComponents do attr :record, :map, required: true - def release_status_icon(assigns) do + def release_status_tooltip(assigns) do ~H""" - <.icon + + """ end @@ -128,7 +136,7 @@ defmodule MusicLibraryWeb.RecordComponents do

{record.title} - <.release_status_icon record={record} /> + <.release_status_tooltip record={record} />

{Records.Record.format_release_date(record.release_date)} @@ -376,7 +384,7 @@ defmodule MusicLibraryWeb.RecordComponents do <.artist_links joinphrase_class="text-xs" artists={record.artists} />

- {record.title} <.release_status_icon record={record} /> + {record.title} <.release_status_tooltip record={record} />

diff --git a/lib/music_library_web/components/search_components.ex b/lib/music_library_web/components/search_components.ex index 08d04ff7..d02b309e 100644 --- a/lib/music_library_web/components/search_components.ex +++ b/lib/music_library_web/components/search_components.ex @@ -11,7 +11,7 @@ defmodule MusicLibraryWeb.SearchComponents do type_label: 1, record_cover: 1, artist_image: 1, - release_status_icon: 1 + release_status_tooltip: 1 ] alias MusicLibrary.Records.Record @@ -50,7 +50,7 @@ defmodule MusicLibraryWeb.SearchComponents do

- {@record.title} <.release_status_icon record={@record} /> + {@record.title} <.release_status_tooltip record={@record} />

{Record.artist_names(@record)} diff --git a/lib/music_library_web/components/stats_components.ex b/lib/music_library_web/components/stats_components.ex index 43584fa6..60c6dd0b 100644 --- a/lib/music_library_web/components/stats_components.ex +++ b/lib/music_library_web/components/stats_components.ex @@ -8,7 +8,7 @@ defmodule MusicLibraryWeb.StatsComponents do artist_links: 1, record_cover: 1, release_groups_badge: 1, - release_status_icon: 1 + release_status_tooltip: 1 ] alias MusicLibrary.Records @@ -188,7 +188,7 @@ defmodule MusicLibraryWeb.StatsComponents do

{rep.title} - <.release_status_icon record={rep} /> + <.release_status_tooltip record={rep} />

<.released_how_long_ago record={rep} current_date={@current_date} /> @@ -261,7 +261,7 @@ defmodule MusicLibraryWeb.StatsComponents do

{@record.title} - <.release_status_icon record={@record} /> + <.release_status_tooltip record={@record} />

<.released_how_long_ago record={@record} current_date={@current_date} /> diff --git a/lib/music_library_web/live/record_set_live/index.ex b/lib/music_library_web/live/record_set_live/index.ex index 6864e0e7..a8c0fbc1 100644 --- a/lib/music_library_web/live/record_set_live/index.ex +++ b/lib/music_library_web/live/record_set_live/index.ex @@ -5,7 +5,7 @@ defmodule MusicLibraryWeb.RecordSetLive.Index do import MusicLibraryWeb.LiveHelpers.Params import MusicLibraryWeb.RecordComponents, - only: [artist_links: 1, type_label: 1, format_label: 1, release_status_icon: 1] + only: [artist_links: 1, type_label: 1, format_label: 1, release_status_tooltip: 1] alias MusicLibrary.{Records, RecordSets} alias MusicLibrary.RecordSets.RecordSet @@ -399,7 +399,7 @@ defmodule MusicLibraryWeb.RecordSetLive.Index do

{item.record.title} - <.release_status_icon record={item.record} /> + <.release_status_tooltip record={item.record} />

{format_label(item.record.format)} · {type_label(item.record.type)} diff --git a/lib/music_library_web/live/record_set_live/record_picker.ex b/lib/music_library_web/live/record_set_live/record_picker.ex index 01fae516..37ca876d 100644 --- a/lib/music_library_web/live/record_set_live/record_picker.ex +++ b/lib/music_library_web/live/record_set_live/record_picker.ex @@ -6,7 +6,7 @@ defmodule MusicLibraryWeb.RecordSetLive.RecordPicker do alias MusicLibrary.Wishlist import MusicLibraryWeb.RecordComponents, - only: [format_label: 1, type_label: 1, release_status_icon: 1] + only: [format_label: 1, type_label: 1, release_status_tooltip: 1] @impl true def render(assigns) do @@ -94,7 +94,7 @@ defmodule MusicLibraryWeb.RecordSetLive.RecordPicker do

- {@record.title} <.release_status_icon record={@record} /> + {@record.title} <.release_status_tooltip record={@record} />

{Record.artist_names(@record)} diff --git a/lib/music_library_web/live/record_set_live/show.ex b/lib/music_library_web/live/record_set_live/show.ex index c7ece2c4..5408951c 100644 --- a/lib/music_library_web/live/record_set_live/show.ex +++ b/lib/music_library_web/live/record_set_live/show.ex @@ -2,7 +2,7 @@ defmodule MusicLibraryWeb.RecordSetLive.Show do use MusicLibraryWeb, :live_view import MusicLibraryWeb.RecordComponents, - only: [artist_links: 1, type_label: 1, format_label: 1, release_status_icon: 1] + only: [artist_links: 1, type_label: 1, format_label: 1, release_status_tooltip: 1] alias MusicLibrary.{Records, RecordSets} alias MusicLibrary.RecordSets.RecordSet @@ -133,7 +133,7 @@ defmodule MusicLibraryWeb.RecordSetLive.Show do

{item.record.title} - <.release_status_icon record={item.record} /> + <.release_status_tooltip record={item.record} />

{format_label(item.record.format)} · {type_label(item.record.type)} diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 7ec6f5e5..97651abc 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -2385,3 +2385,13 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Failed to connect your Last.fm account" msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format +msgid "Record doesn't have a selected release" +msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format +msgid "Record has a selected release" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 399371d6..f0a12235 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -2385,3 +2385,13 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Failed to connect your Last.fm account" msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format +msgid "Record doesn't have a selected release" +msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format +msgid "Record has a selected release" +msgstr ""