From 00d97717ae04a76db13911753aacea0786f7072c Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 6 Dec 2025 10:01:57 +0000 Subject: [PATCH] Display releases in record details sheet --- .../components/record_components.ex | 25 +++++++++++++++++++ .../live/collection_live/show.ex | 1 + .../live/collection_live/show.html.heex | 15 +++++++++-- .../live/wishlist_live/show.ex | 3 ++- .../live/wishlist_live/show.html.heex | 14 ++++++++++- priv/gettext/default.pot | 11 ++++++++ priv/gettext/en/LC_MESSAGES/default.po | 11 ++++++++ 7 files changed, 76 insertions(+), 4 deletions(-) diff --git a/lib/music_library_web/components/record_components.ex b/lib/music_library_web/components/record_components.ex index f1309c8f..1c99890e 100644 --- a/lib/music_library_web/components/record_components.ex +++ b/lib/music_library_web/components/record_components.ex @@ -466,4 +466,29 @@ defmodule MusicLibraryWeb.RecordComponents do """ end + + attr :record, Records.Record, required: true + + def release_list(assigns) do + ~H""" + <.sheet + id={"release-list-" <> @record.id} + placement="right" + class="min-w-xs sm:min-w-sm" + > +

+ {gettext("Available releases")} +

+
+ <.release_summary + :for={release_id <- @record.release_ids} + release={Records.Record.find_release(@record, release_id)} + class={ + @record.selected_release_id == release_id && "bg-zinc-100 dark:bg-zinc-800 p-2 rounded-lg" + } + /> +
+ + """ + end end diff --git a/lib/music_library_web/live/collection_live/show.ex b/lib/music_library_web/live/collection_live/show.ex index 8bf8a6ba..fc8e110b 100644 --- a/lib/music_library_web/live/collection_live/show.ex +++ b/lib/music_library_web/live/collection_live/show.ex @@ -11,6 +11,7 @@ defmodule MusicLibraryWeb.CollectionLive.Show do artist_links: 1, record_colors: 1, record_cover: 1, + release_list: 1, similar_records: 1 ] diff --git a/lib/music_library_web/live/collection_live/show.html.heex b/lib/music_library_web/live/collection_live/show.html.heex index 873bcaa5..c3a06efd 100644 --- a/lib/music_library_web/live/collection_live/show.html.heex +++ b/lib/music_library_web/live/collection_live/show.html.heex @@ -234,8 +234,20 @@
{gettext("Published releases")}
-
+
{Records.Record.release_count(@record)} + <.release_list record={@record} /> +
@@ -249,7 +261,6 @@ > {gettext("No release selected")} - <.release_summary :if={@record.selected_release_id} release={Records.Record.selected_release(@record)} diff --git a/lib/music_library_web/live/wishlist_live/show.ex b/lib/music_library_web/live/wishlist_live/show.ex index 708e09b5..a820a657 100644 --- a/lib/music_library_web/live/wishlist_live/show.ex +++ b/lib/music_library_web/live/wishlist_live/show.ex @@ -8,7 +8,8 @@ defmodule MusicLibraryWeb.WishlistLive.Show do release_summary: 1, artist_links: 1, record_colors: 1, - record_cover: 1 + record_cover: 1, + release_list: 1 ] alias MusicLibrary.OnlineStoreTemplates diff --git a/lib/music_library_web/live/wishlist_live/show.html.heex b/lib/music_library_web/live/wishlist_live/show.html.heex index ab47ed0b..64006257 100644 --- a/lib/music_library_web/live/wishlist_live/show.html.heex +++ b/lib/music_library_web/live/wishlist_live/show.html.heex @@ -215,8 +215,20 @@
{gettext("Published releases")}
-
+
{Records.Record.release_count(@record)} + <.release_list record={@record} /> +
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 561aac07..cf54d31f 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -1646,3 +1646,14 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Release" msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format +msgid "Available releases" +msgstr "" + +#: lib/music_library_web/live/collection_live/show.html.heex +#: lib/music_library_web/live/wishlist_live/show.html.heex +#, elixir-autogen, elixir-format +msgid "Show releases included in the record" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 9566f27e..62c0f11b 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -1646,3 +1646,14 @@ msgstr "" #, elixir-autogen, elixir-format, fuzzy msgid "Release" msgstr "" + +#: lib/music_library_web/components/record_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Available releases" +msgstr "" + +#: lib/music_library_web/live/collection_live/show.html.heex +#: lib/music_library_web/live/wishlist_live/show.html.heex +#, elixir-autogen, elixir-format +msgid "Show releases included in the record" +msgstr ""