Display releases in record details sheet
This commit is contained in:
@@ -466,4 +466,29 @@ defmodule MusicLibraryWeb.RecordComponents do
|
|||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
end
|
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"
|
||||||
|
>
|
||||||
|
<h3 class="text-lg font-semibold text-zinc-700 dark:text-zinc-300">
|
||||||
|
{gettext("Available releases")}
|
||||||
|
</h3>
|
||||||
|
<div class="mt-6 space-y-4">
|
||||||
|
<.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"
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</.sheet>
|
||||||
|
"""
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
|
|||||||
artist_links: 1,
|
artist_links: 1,
|
||||||
record_colors: 1,
|
record_colors: 1,
|
||||||
record_cover: 1,
|
record_cover: 1,
|
||||||
|
release_list: 1,
|
||||||
similar_records: 1
|
similar_records: 1
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -234,8 +234,20 @@
|
|||||||
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
||||||
{gettext("Published releases")}
|
{gettext("Published releases")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-1 text-xs md:text-sm leading-6 text-zinc-700 dark:text-zinc-300 sm:col-span-2 sm:mt-0">
|
<dd class="mt-1 flex justify-between text-xs md:text-sm leading-6 text-zinc-700 dark:text-zinc-300 sm:col-span-2 sm:mt-0">
|
||||||
{Records.Record.release_count(@record)}
|
{Records.Record.release_count(@record)}
|
||||||
|
<.release_list record={@record} />
|
||||||
|
<button phx-click={Fluxon.open_dialog("release-list-" <> @record.id)}>
|
||||||
|
<span class="sr-only">
|
||||||
|
{gettext("Show releases included in the record")}
|
||||||
|
</span>
|
||||||
|
<.icon
|
||||||
|
name="hero-magnifying-glass-plus"
|
||||||
|
class="-mt-1 h-5 w-5"
|
||||||
|
aria-hidden="true"
|
||||||
|
data-slot="icon"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
||||||
@@ -249,7 +261,6 @@
|
|||||||
>
|
>
|
||||||
{gettext("No release selected")}
|
{gettext("No release selected")}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<.release_summary
|
<.release_summary
|
||||||
:if={@record.selected_release_id}
|
:if={@record.selected_release_id}
|
||||||
release={Records.Record.selected_release(@record)}
|
release={Records.Record.selected_release(@record)}
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
|
|||||||
release_summary: 1,
|
release_summary: 1,
|
||||||
artist_links: 1,
|
artist_links: 1,
|
||||||
record_colors: 1,
|
record_colors: 1,
|
||||||
record_cover: 1
|
record_cover: 1,
|
||||||
|
release_list: 1
|
||||||
]
|
]
|
||||||
|
|
||||||
alias MusicLibrary.OnlineStoreTemplates
|
alias MusicLibrary.OnlineStoreTemplates
|
||||||
|
|||||||
@@ -215,8 +215,20 @@
|
|||||||
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
||||||
{gettext("Published releases")}
|
{gettext("Published releases")}
|
||||||
</dt>
|
</dt>
|
||||||
<dd class="mt-1 text-xs md:text-sm leading-6 text-zinc-700 dark:text-zinc-300 sm:col-span-2 sm:mt-0">
|
<dd class="mt-1 flex justify-between text-xs md:text-sm leading-6 text-zinc-700 dark:text-zinc-300 sm:col-span-2 sm:mt-0">
|
||||||
{Records.Record.release_count(@record)}
|
{Records.Record.release_count(@record)}
|
||||||
|
<.release_list record={@record} />
|
||||||
|
<button phx-click={Fluxon.open_dialog("release-list-" <> @record.id)}>
|
||||||
|
<span class="sr-only">
|
||||||
|
{gettext("Show releases included in the record")}
|
||||||
|
</span>
|
||||||
|
<.icon
|
||||||
|
name="hero-magnifying-glass-plus"
|
||||||
|
class="-mt-1 h-5 w-5"
|
||||||
|
aria-hidden="true"
|
||||||
|
data-slot="icon"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</div>
|
||||||
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
||||||
|
|||||||
@@ -1646,3 +1646,14 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "Release"
|
msgid "Release"
|
||||||
msgstr ""
|
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 ""
|
||||||
|
|||||||
@@ -1646,3 +1646,14 @@ msgstr ""
|
|||||||
#, elixir-autogen, elixir-format, fuzzy
|
#, elixir-autogen, elixir-format, fuzzy
|
||||||
msgid "Release"
|
msgid "Release"
|
||||||
msgstr ""
|
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 ""
|
||||||
|
|||||||
Reference in New Issue
Block a user