Support choosing a selected release
This commit is contained in:
@@ -55,6 +55,13 @@ defmodule MusicLibraryWeb.FormComponent do
|
||||
type="text"
|
||||
label={gettext("MusicBrainz ID")}
|
||||
/>
|
||||
<.input
|
||||
field={@form[:selected_release_id]}
|
||||
type="select"
|
||||
label={gettext("Selected Release")}
|
||||
prompt={gettext("Choose a Release")}
|
||||
options={Record.selected_release_id_options(@record)}
|
||||
/>
|
||||
<div class="sm:columns-2">
|
||||
<.input field={@form[:release_date]} type="text" label={gettext("Release Date")} />
|
||||
<.input
|
||||
|
||||
@@ -293,6 +293,14 @@ defmodule MusicLibraryWeb.RecordComponents do
|
||||
def type_label(:single), do: gettext("Single")
|
||||
def type_label(:other), do: gettext("Other")
|
||||
|
||||
def selected_release_label(record) do
|
||||
if release = Records.Record.selected_release(record) do
|
||||
Records.Record.selected_release_label(release)
|
||||
else
|
||||
gettext("No release selected")
|
||||
end
|
||||
end
|
||||
|
||||
def toggle_actions_menu(record_id) do
|
||||
JS.toggle(to: "#actions-#{record_id}")
|
||||
|> JS.toggle_class("pointer-events-none", to: "#records > li")
|
||||
|
||||
@@ -2,7 +2,13 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
|
||||
use MusicLibraryWeb, :live_view
|
||||
|
||||
import MusicLibraryWeb.RecordComponents,
|
||||
only: [toggle_actions_menu: 1, close_actions_menu: 1, format_label: 1, type_label: 1]
|
||||
only: [
|
||||
toggle_actions_menu: 1,
|
||||
close_actions_menu: 1,
|
||||
format_label: 1,
|
||||
type_label: 1,
|
||||
selected_release_label: 1
|
||||
]
|
||||
|
||||
alias MusicLibrary.Records
|
||||
alias Phoenix.LiveView.JS
|
||||
|
||||
@@ -211,6 +211,14 @@
|
||||
{Records.Record.release_count(@record)}
|
||||
</dd>
|
||||
</div>
|
||||
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
||||
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
||||
{gettext("Collected release")}
|
||||
</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">
|
||||
{selected_release_label(@record)}
|
||||
</dd>
|
||||
</div>
|
||||
<div
|
||||
:if={Records.Record.included_release_groups_count(@record) > 0}
|
||||
class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"
|
||||
|
||||
@@ -2,7 +2,13 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
|
||||
use MusicLibraryWeb, :live_view
|
||||
|
||||
import MusicLibraryWeb.RecordComponents,
|
||||
only: [toggle_actions_menu: 1, close_actions_menu: 1, format_label: 1, type_label: 1]
|
||||
only: [
|
||||
toggle_actions_menu: 1,
|
||||
close_actions_menu: 1,
|
||||
format_label: 1,
|
||||
type_label: 1,
|
||||
selected_release_label: 1
|
||||
]
|
||||
|
||||
alias MusicLibrary.Records
|
||||
|
||||
|
||||
@@ -226,6 +226,14 @@
|
||||
{Records.Record.release_count(@record)}
|
||||
</dd>
|
||||
</div>
|
||||
<div class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
||||
<dt class="text-xs md:text-sm font-medium leading-6 text-zinc-900 dark:text-zinc-400">
|
||||
{gettext("Collected release")}
|
||||
</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">
|
||||
{selected_release_label(@record)}
|
||||
</dd>
|
||||
</div>
|
||||
<div
|
||||
:if={Records.Record.included_release_groups_count(@record) > 0}
|
||||
class="py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0"
|
||||
|
||||
Reference in New Issue
Block a user